Основы SQL
Даны таблицы Рейс и Билет. Создать триггер, обрабатывающий изменение в одной записи номера рейса в таблице Билет. При этом в таблице Рейс необходимо пересчитать количество свободных мест (увеличить для прежнего рейса и уменьшить для нового значения номера рейса).
CREATE TRIGGER trig_updON Билет FOR UPDATE AS
Выберите операторы для продолжения текста триггера.
В таблице Граф представлен график сетевого планирования:
CREATE TABLE Граф(номер INT PRIMARY KEY, --номер работы нач_соб INT, --начальное событие кон_соб INT, --конечное событие длит INT) --длительность работы
В таблице, моделирующей сетевой график, каждая запись соответствует некоторой работе, связывающей два события: начальное и конечное. Например:
Номер | Нач_соб | Кон_соб | Длит |
---|---|---|---|
12345678910 | 1113432556 | 2434556677 | 51236285472 |
Реализуем в виде триггеров ряд правил для обеспечения целостности данных в подобной сетевой структуре. Начальное событие графика (исток) обозначено цифрой "1". Разработать триггер для вставки новой записи, причем необходимо отменить ввод, если номер конечного события оказался меньше номера начального события.
CREATE TRIGGER trig_insON Граф FOR INSERT AS
Выберите операторы для продолжения текста триггера.
В таблице Граф представлен график сетевого планирования:
CREATE TABLE Граф(номер INT PRIMARY KEY, --номер работы нач_соб INT, --начальное событие кон_соб INT, --конечное событие длит INT) --длительность работы
В таблице, моделирующей сетевой график, каждая запись соответствует некоторой работе, связывающей два события: начальное и конечное. Например:
Номер | Нач_соб | Кон_соб | Длит |
---|---|---|---|
12345678910 | 1113432556 | 2434556677 | 51236285472 |
Реализуем в виде триггеров ряд правил для обеспечения целостности данных в подобной сетевой структуре. Начальное событие графика (исток) обозначено цифрой "1". Разработать триггер для вставки новой записи, причем необходимо отменить ввод, если номер начального события оказался меньше номера хотя бы одного конечного события, введенного ранее.
CREATE TRIGGER trig_insON Граф FOR INSERT AS
Выберите операторы для продолжения текста триггера.
Даны таблицы
CREATE TABLE Рейс(Номер_рейса INT,Конечный_пункт VARCHAR(30),Дата_вылета DATETIME,Продолжительность_маршрута INT,Число_билетов INT) | CREATE TABLE БИЛЕТ(Номер_места CHAR(3),Номер_рейса INT,Дата_продажи DATETIME,Стоимость MONEY,Фамилия_пассажира VARCHAR(20)) |
Вывести номера мест и дату продажи билетов на рейсы до Москвы.
Пусть дана таблица Автор с полями
Фамилия | VARCHAR(50) |
---|---|
Пол | CHAR(3) |
Дата_рождения | DATETIME NOT NULL |
Телефон | CHAR(9) |
Количество_трудов | INT |
Город | VARCHAR(15) |
Удалить информацию об авторах, не имеющих телефона (в этом случае это поле Null).
Разработана процедура, возвращающая номера рейсов до заданного пункта.
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 TABLE Рейс(Номер_рейса INT, Конечный_пункт VARCHAR(30), Дата_вылета DATETIME) | CREATE TABLE БИЛЕТ(Номер_места CHAR(3), Номер_рейса INT, Дата_продажи DATETIME, Фамилия_пассажира VARCHAR(30)) |
Определить номера мест и дату продажи билетов на рейсы до Москвы с датой вылета 1 мая 2004 года