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

Основы SQL

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

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

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  

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

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

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

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

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 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@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 Тип_блюда="Десерт"

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

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  

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

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

DECLARE @n     VARCHAR(50),        @iz    VARCHAR(50),                @p     MONEY,        @message VARCHAR(80)DECLARE @cur1 CURSORPRINT '  Список книг'DECLARE cursor1 CURSOR FOR   SELECT Название, Издательство, Цена   FROM Книга   WHERE Издательство="Мир"OPEN cursor1SET @cur1=cursor1FETCH NEXT FROM cursor1 INTO  @n, @iz, @pWHILE @@FETCH_STATUS=0BEGIN    SELECT @message='Книга '+@n+'        Цена  '+ CAST(@p AS VARCHAR(4))    PRINT @message-- переход к следующему клиенту--    FETCH NEXT FROM cursor1 INTO @n, @iz,@pENDCLOSE cursor1DEALLOCATE cursor1

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

Пусть в таблице Книга представлены записи, где значения поля Код_Книги равны 1, 2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 и 10. Создан курсор для вывода списка книг издательства "Мир".

DECLARE @n     VARCHAR(50),        @iz    VARCHAR(50),                @p     MONEY,        @message VARCHAR(80)DECLARE @cur1 CURSORPRINT '  Список книг'DECLARE cursor1 CURSOR GLOBAL SCROLL KEYSET FOR   SELECT Название, Издательство, Цена   FROM Книга   WHERE Издательство="Мир"OPEN cursor1SET @cur1=cursor1FETCH ABSOLUTE 9  FROM cursor1 INTO  @n, @iz, @p    DELETE Книга     WHERE CURRENT OF @cur1 FETCH RELATIVE -2 FROM cursor1 INTO  @n, @iz, @p    UPDATE Книга SET Цена=Цена*1.5    WHERE CURRENT OF cursor1    SELECT @message='Книга '+@n+'  Цена  '+       CAST(@p AS VARCHAR(4))    PRINT @message    CLOSE cursor1DEALLOCATE cursor1

Какие действия выполнит система?

Разработан курсор для печати списка книг.

DECLARE @n     VARCHAR(50),        @iz    VARCHAR(50),                @p     MONEY,        @message VARCHAR(80)DECLARE @cur1 CURSORPRINT '  Список книг'DECLARE cursor1 CURSOR GLOBAL SCROLL KEYSET FOR   SELECT Название, Издательство, Цена   FROM Книга   WHERE Издательство="Мир"OPEN cursor1SET @cur1=cursor1FETCH LAST  FROM cursor1 INTO  @n, @iz, @pFETCH ABSOLUTE 2 FROM cursor1 INTO  @n, @iz, @pFETCH RELATIVE -2 FROM cursor1 INTO  @n, @iz, @p    SELECT @message='Книга '+@n+'  Цена  '+     CAST(@p AS VARCHAR(4))    PRINT @message    CLOSE cursor1DEALLOCATE cursor1

Какая из имеющихся в курсоре записей будет распечатана?

Пусть в таблице Книга представлены записи, значения поля Код_Книги в которых равны 1, 3, 4, 7, 9 и 10. Создан курсор для вывода списка книг издательства «Мир».

DECLARE @n     VARCHAR(50),        @iz    VARCHAR(50),                @p     MONEY,        @message VARCHAR(80)DECLARE @cur1 CURSORPRINT '  Список клиентов'DECLARE cursor1 CURSOR GLOBAL SCROLL KEYSET FOR   SELECT Название, Издательство, Цена   FROM Книга   WHERE Издательство=’Мир’OPEN cursor1SET @cur1=cursor1FETCH ABSOLUTE 3  FROM cursor1 INTO  @n, @iz, @p    DELETE Книга     WHERE CURRENT OF @cur1 FETCH RELATIVE -2 FROM cursor1 INTO  @n, @iz, @p    UPDATE Книга SET Цена=Цена*1.5    WHERE CURRENT OF cursor1    SELECT @message='Книга '+@n+'  Цена  '+         CAST(@p AS VARCHAR(4))    PRINT @message    CLOSE cursor1DEALLOCATE cursor1

Какие действия выполнит система?