База ответов ИНТУИТ

Основы SQL

<<- Назад к вопросам

Разработана процедура, возвращающая список книг некоторого автора.

CREATE PROC my_proc@av VARCHAR(20),@cur CURSOR VARYING OUTPUTASSET @cur=CURSOR FORWARD_ONLY STATIC FOR   SELECT Книга.Название, Книга.Издательство,           Книга.Цена   FROM Автор INNER JOIN Книга ON    Автор.Код_Автора = Книга.Код_Автора   WHERE Автор.Фамилия=@avOPEN @cur

Вызов процедуры и вывод на печать названий книг из выходного курсора осуществляется следующим образом:

DECLARE @my_cur CURSORDECLARE @n VARCHAR(20)EXEC my_proc 'Иванов',@cur=@my_cur OUTPUTFETCH NEXT FROM @my_cur INTO @nSELECT @nWHILE (@@FETCH_STATUS=0)BEGIN  FETCH NEXT FROM @my_cur INTO @n  SELECT @nENDCLOSE @my_curDEALLOCATE @my_cur  

Укажите правильные ответы.

(Отметьте один правильный вариант ответа.)

Варианты ответа
процедура создана правильно. При вызове в обработке курсора дважды происходит обращение к первой записи
ошибок ни в процедуре, ни в ее вызове нет
неправильно осуществляется вызов процедуры(Верный ответ)
Похожие вопросы

Разработана процедура, возвращающая список книг издательства "Мир".

CREATE PROC my_proc@cur CURSOR VARYING OUTPUTASSET @cur=CURSOR FORWARD_ONLY STATIC FOR   SELECT Название, Издательство, Цена   FROM Книга   WHERE Издательство="Мир"OPEN @cur

Вызов процедуры и вывод на печать названий книг из выходного курсора осуществляется следующим образом:

DECLARE @my_cur CURSORDECLARE @n VARCHAR(20)EXEC my_proc @cur=@my_cur OUTPUTFETCH NEXT FROM @my_cur INTO @nSELECT @nWHILE (@@FETCH_STATUS=0)BEGIN  FETCH NEXT FROM @my_cur INTO @n  SELECT @nENDCLOSE @my_curDEALLOCATE @my_cur  

Укажите правильные ответы.

Разработана процедура, возвращающая тарифы городов указанного региона.

CREATE PROC my_proc@r VARCHAR(20),@cur CURSOR VARYING OUTPUTASSET @cur=CURSOR FORWARD_ONLY STATIC FOR   SELECT Название, Тариф, Регион   FROM Город   WHERE Регион=@rOPEN @cur

Вызов процедуры и вывод на печать названий городов из выходного курсора осуществляется следующим образом:

DECLARE @my_cur CURSORDECLARE @n VARCHAR(20)EXEC my_proc @cur=@my_cur OUTPUT, ‘Поволжье’  FETCH NEXT FROM @my_cur INTO @n  SELECT @nWHILE (@@FETCH_STATUS=0)BEGIN  FETCH NEXT FROM @my_cur INTO @n  SELECT @nENDCLOSE @my_curDEALLOCATE @my_cur  

Укажите правильные ответы.

Разработана процедура, возвращающая список телефонных тарифов городов Поволжья.

CREATE PROC my_proc@cur CURSOR VARYING OUTPUTASSET @cur=CURSOR FORWARD_ONLY STATIC FOR   SELECT Название, Тариф, Регион   FROM Город   WHERE Регион="Поволжье"OPEN @cur

Вызов процедуры и вывод на печать названий городов из выходного курсора осуществляется следующим образом:

DECLARE @my_cur CURSORDECLARE @n VARCHAR(20)EXEC my_proc @cur=@my_cur OUTPUT  FETCH NEXT FROM @my_cur INTO @n  SELECT @nWHILE (@@FETCH_STATUS=0)BEGIN  FETCH NEXT FROM @my_cur INTO @n  SELECT @nENDCLOSE @my_curDEALLOCATE @my_cur  

Укажите правильные ответы.

Разработана процедура, возвращающая список названий десертов.

CREATE PROC my_proc@cur CURSOR VARYING OUTPUTASSET @cur=CURSOR FORWARD_ONLY STATIC FOR   SELECT Название_блюда, Калорийность, Тип_блюда   FROM Блюдо   WHERE Тип_блюда="Десерт"

Вызов процедуры и вывод на печать названий блюд из выходного курсора осуществляется следующим образом:

DECLARE @my_cur CURSORDECLARE @n VARCHAR(20)EXEC my_proc @cur=@my_cur OUTPUTOPEN @curWHILE (@@FETCH_STATUS=0)BEGIN  FETCH NEXT FROM @my_cur INTO @n  SELECT @nENDCLOSE @my_curDEALLOCATE @my_cur  

Укажите правильные ответы.

Разработана процедура, возвращающая номера рейсов до заданного пункта.

CREATE PROC my_proc@p VARCHAR(20),@cur CURSOR VARYING OUTPUTASSET @cur=CURSOR FORWARD_ONLY STATIC FOR   SELECT Номер_рейса, Стоимость, Конечный_пункт   FROM Рейс   WHERE Конечный_пункт=@pOPEN @cur

Вызов процедуры и вывод на печать номеров рейсов из выходного курсора осуществляется следующим образом:

DECLARE @my_cur CURSORDECLARE @n INTEXEC my_proc @p='Москва',@cur=@my_cur OUTPUTWHILE (@@FETCH_STATUS=0)BEGIN  FETCH NEXT FROM @my_cur INTO @n  SELECT @nENDCLOSE @my_curDEALLOCATE @my_cur  

Укажите правильные ответы.

Разработана процедура, возвращающая список номеров рейсов до Москвы.

CREATE PROC my_proc@cur CURSOR VARYING OUTPUTASSET @cur=CURSOR FORWARD_ONLY STATIC FOR   SELECT Номер_рейса, Стоимость, Конечный_пункт   FROM Рейс   WHERE Конечный_пункт="Москва"OPEN @cur

Вызов процедуры и вывод на печать номеров рейсов из выходного курсора осуществляется следующим образом:

DECLARE @my_cur CURSORDECLARE @n INTEXEC my_proc @cur=@my_cur OUTPUTWHILE (@@FETCH_STATUS=0)BEGIN  FETCH NEXT FROM @my_cur INTO @n  SELECT @nENDCLOSE @my_curDEALLOCATE @my_cur  

Укажите правильный ответ.

Для определения количества книг, изданных указанным автором в заданном издательстве, разработана процедура, в которой определены значения параметров по умолчанию:

CREATE PROC my_proc@f VARCHAR(20)='Петров',@iz VARCHAR(20)='АСТ',@k INT=1 OUTPUTASSELECT @k=Sum(Книга.Количество) FROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораGROUP BY Автор.Фамилия, Книга.ИздательствоHAVING Автор.Фамилия=@f AND Книга.Издательство=@iz

Укажите правильный вызов процедуры

Для определения общей стоимости книг, изданных заданным автором в заданном издательстве, разработана процедура:

CREATE PROC my_proc2@f VARCHAR(20),@iz VARCHAR(20),@s FLOAT OUTPUTASSELECT @s=Sum(Книга.Цена*Книга.Количество) FROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораGROUP BY Автор.Фамилия, Книга.ИздательствоHAVING Автор.Фамилия=@f AND Книга.Издательство=@iz

Укажите правильный вызов процедуры

Для определения общей стоимости книг, изданных заданным автором в заданном издательстве, разработана процедура, в которой указаны значения параметров по умолчанию:

CREATE PROC my_proc3@f VARCHAR(20)=’Петров’,@iz VARCHAR(20)=’АСТ’,@s FLOAT=0.1 OUTPUTASSELECT @s=Sum(Книга.Цена*Книга.Количество) FROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораGROUP BY Автор.Фамилия, Книга.ИздательствоHAVING Автор.Фамилия=@f AND Книга.Издательство=@iz

Укажите правильный вызов процедуры

Разработана функция, определяющая по фамилии автора общий тираж книг.

CREATE FUNCTION user1.my_func1(@n VARCHAR(20))RETURNS INTASBEGIN  DECLARE @k INT  SET @k=(SELECT Sum(Книга.Количество)      FROM Автор INNER JOIN Книга       ON Автор.Код_Автора = Книга.Код_Автора      GROUP BY Автор.Фамилия      HAVING Автор.Фамилия=@n)  RETURN (@k)END

Определите операторы правильного обращения к функции.