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

Основы SQL

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

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

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 @st INTEXEC my_proc 'Москва',2,@st OUTPUTSELECT @st
(Верный ответ)
DECLARE @st INTEXEC my_proc @k=@st OUTPUTSELECT @st
(Верный ответ)
DECLARE @st INTEXEC my_proc @m=2,@k=@st OUTPUTSELECT @st
(Верный ответ)
DECLARE @st INTEXEC my_proc 2,'Москва',@st OUTPUTSELECT @st
Похожие вопросы

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

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

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

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

CREATE PROC my_proc2@c VARCHAR(20),@m INT,@k INT OUTPUTASSELECT @k=Count(Билет.Фамилия_пассажира)FROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейсаGROUP BY Рейс.Конечный_пункт, Month(Рейс.Дата_вылета)HAVING Рейс.Конечный_пункт=@c AND Month(Рейс.Дата_вылета)=@m

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

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

CREATE FUNCTION user1.my_func1(@s VARCHAR(20))RETURNS INTASBEGIN  DECLARE @k INT  SET @k=(SELECT Count(Билет.Фамилия_пассажира)       FROM Билет INNER JOIN Рейс       ON Билет.Номер_рейса = Рейс.Номер_рейса      GROUP BY Рейс.Конечный_пункт      HAVING Рейс.Конечный_пункт=@s)  RETURN (@k)END

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

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

CREATE PROC my_proc@f  VARCHAR(20)=’Иванов’,@m  INT=2,@st FLOAT=5.0 OUTPUTASSELECT @st=Sum(Город.Тариф*Разговор.Продолжительность) FROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_Города, Разговор.ФамилияGROUP BY Город.Регион, Month(Разговор.Дата)HAVING Разговор.Фамилия=@f AND Month(Разговор.Дата)=@m

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

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

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 TABLE Рейс(Номер_рейса INT,Конечный_пункт VARCHAR(20),Дата_вылета DATETIME,Продолжительность_маршрута INT,Число_билетов INT,Стоимость MONEY)
CREATE TABLE Билет(Номер_места INT,Номер_рейса INT,Дата_продажи DATETIME,Стоимость MONEY,Фамилия_пассажира VARCHAR(30))

В таблице Рейс ограничить конечный пункт заданным списком: Москва, Самара, Киев.

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

CREATE PROC my_proc3@r  VARCHAR(20)=’Нечерноземье’,@m  INT=2,@st FLOAT=5.0 OUTPUTASSELECT @st=Sum(Город.Тариф*Разговор.Продолжительность) FROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаGROUP BY Город.Регион, Month(Разговор.Дата)HAVING Город.Регион=@r AND Month(Разговор.Дата)=@m

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

Пусть в таблице Рейс представлены записи, значения поля Номер_рейса в которых равны 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

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

Даны таблицы Рейс и Билет.

CREATE  TABLE Рейс (Номер_рейса  INT,Конечный_пункт VARCHAR(20),Дата_вылета        DATETIME,Продолжительность_маршрута INT,Число_билетов INT,Стоимость                  MONEY)
CREATE  TABLE   Билет(Номер_места	INT,Номер_рейса             INT,Дата_продажи	DATETIME,Стоимость MONEY,Фамилия_пассажира VARCHAR(30))

Между ними необходимо установить связь "один-ко-многим" (один рейс - много мест) с учетом первичных ключей.