Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
Есть 2 таблицы в SQL Server 2000.
Нужно добавить триггер, чтобы при добавлении новой записи в таблицу Seat соблюдалось правило:
если ID_Sector.Sector=ID_Sector.Seat,
то Initial_Row.Sector<=Number_Row.Seat <=Finite_Row.Sector.
Пожалуйста помогите с реализацией.
<!--shcode--><pre><code class='sql'>CREATE TRIGGER INSROW
ON Seat FOR INSERT
AS
IF @@ROWCOUNT=1
BEGIN
IF NOT EXISTS (SELECT *
FROM inserted
WHERE Initial_Row.Sector<=Number_Row.Seat<=Finite_Row.Sector
AND ID_Sector.Sector=ID_Sector.Seat
BEGIN
ROLLBACK TRAN
PRINT
'Номер ряда не соответствует выбранному сектору зала!'
END
END[/CODE]
Я переделал немного, помогите пожалуйста разобраться почему не работает...
<!--shcode--><pre><code class='sql'>CREATE TRIGGER INSROW
ON Seat FOR INSERT
AS
IF @@ROWCOUNT=1
BEGIN
IF NOT EXISTS (SELECT *
FROM inserted, Sector
WHERE inserted.ID_Sector=Sector.ID_Sector AND
Sector.Initial_Row<=inserted.Number_Seat AND inserted.Number_Seat<=Sector.Finite_Row)
BEGIN
ROLLBACK TRAN
PRINT
'Номер ряда не соответствует выбранному сектору зала!'
END
END[/CODE]
Не работает потому, что такое работать не может.
Неправильная конструкция команды CREATE TRIGGER, неправильный оператор IF, неправильный SELECT внутри, и, наконец, - ROLLBACK (команды управления транзакциями в триггерах недопустимы).
На данном сайте используются cookie-файлы, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших cookie-файлов.