Добавление триггера

  • Автор темы Автор темы flame33
  • Дата начала Дата начала
F

flame33

Есть 2 таблицы в SQL Server 2000.
_______.jpg
Нужно добавить триггер, чтобы при добавлении новой записи в таблицу 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]
 
Вы с синтаксисом sql не знакомы, надо начать с него.
Я переделал немного, помогите пожалуйста разобраться почему не работает...
<!--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 (команды управления транзакциями в триггерах недопустимы).
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab