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

Основы SQL

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

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

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@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@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  

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

Разработан курсор для вывода списка рейсов до Москвы.

DECLARE @n     INT,        @k     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  @p, @n, @kWHILE @@FETCH_STATUS=0BEGIN    SELECT @message='Рейс '+    CAST(@n AS VARCHAR(20))+    '  Стоимость  '+ CAST(@p AS VARCHAR(4))    PRINT @message    FETCH NEXT FROM cursor1 INTO @p, @n, @kENDDEALLOCATE cursor1CLOSE cursor1

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

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

CREATE PROC my_proc@c VARCHAR(20)=’Самара’,@m INT=4,@k INT=0 OUTPUTASSELECT @k=Count(Рейс.Номер_рейса) FROM РейсGROUP BY Рейс.Конечный_пункт, Month(Рейс.Дата_вылета)HAVING Рейс.Конечный_пункт=@c AND Month(Рейс.Дата_вылета)=@m

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

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

DECLARE @n     INT,        @k     VARCHAR(50),                @p     MONEY,        @message VARCHAR(80)DECLARE @cur1 CURSORPRINT '  Список клиентов'DECLARE cursor1 CURSOR GLOBAL SCROLL STATIC FOR   SELECT Номер_рейса, Стоимость, Конечный_пункт   FROM Рейс   WHERE Конечный_пункт="Москва"OPEN cursor1SET @cur1=cursor1FETCH FIRST  FROM cursor1 INTO  @n, @p, @kFETCH ABSOLUTE 3 FROM cursor1 INTO  @n, @p, @kFETCH NEXT  FROM cursor1 INTO  @n, @p, @k    SELECT @message='Рейс '+CAST(@n AS VARCHAR(20))+    '  Стоимость  '+ CAST(@p AS VARCHAR(4))    PRINT @message    CLOSE cursor1DEALLOCATE cursor1

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

Пусть в таблице Рейс представлены записи, значения поля Номер_рейса в которых равны 2, 4, 6, 8 ,9. Создан курсор для вывода списка рейсов до Москвы.

DECLARE @n     INT,        @k     VARCHAR(50),                @p     MONEY,        @message VARCHAR(80)DECLARE @cur1 CURSORPRINT '  Список рейсов'DECLARE cursor1 CURSOR GLOBAL SCROLL DYNAMIC FOR    SELECT Номер_рейса, Стоимость, Конечный_пункт   FROM Рейс   WHERE Конечный_пункт=’Москва’OPEN cursor1SET @cur1=cursor1FETCH ABSOLUTE 3  FROM cursor1 INTO  @n, @p, @k    UPDATE Рейс SET Стоимость=Стоимость*1.5    WHERE CURRENT OF cursor1FETCH RELATIVE -2 FROM cursor1 INTO  @n, @p, @k    DELETE Рейс     WHERE CURRENT OF cursor1    SELECT @message='Рейс '+CAST(@n AS VARCHAR(20))+            '  Стоимость  '+ CAST(@p AS VARCHAR(4))CLOSE cursor1DEALLOCATE cursor1

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