1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Базы данных и администрирование", создана пользователем flame33, 10 янв 2010.

  1. flame33

    flame33 Гость

    Репутация:
    0
    Есть 2 таблицы в SQL Server 2000.
    Добавление триггера
    Нужно добавить триггер, чтобы при добавлении новой записи в таблицу Seat соблюдалось правило:
    если ID_Sector.Sector=ID_Sector.Seat,
    то Initial_Row.Sector<=Number_Row.Seat <=Finite_Row.Sector.
    Пожалуйста помогите с реализацией.
     
  2. flame33

    flame33 Гость

    Репутация:
    0
    Вот.Только не работает. :)

    <!--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]
     
  3. flame33

    flame33 Гость

    Репутация:
    0
    Я переделал немного, помогите пожалуйста разобраться почему не работает...
    <!--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]
     
  4. Aleksey

    Aleksey Гость

    Репутация:
    0
    Не работает потому, что такое работать не может.
    Неправильная конструкция команды CREATE TRIGGER, неправильный оператор IF, неправильный SELECT внутри, и, наконец, - ROLLBACK (команды управления транзакциями в триггерах недопустимы).
     
Загрузка...

Поделиться этой страницей