Не Работает Instead Of Insert Триггер

Тема в разделе "SQL", создана пользователем sasha465, 11 авг 2014.

  1. sasha465

    sasha465 Well-Known Member

    Регистрация:
    29 мар 2009
    Сообщения:
    69
    Симпатии:
    0
    Прошу помочь мне: ни в какую не рабоатет instead of insert триггер, причем другие виды триггеров работаеют. Вот пример:
    Допустим у нас есть простая табличка
    Код (Text):
     create table test(id,num);
    То есть всего 2 столбца. Создаю сначала вьюху:
    Код (Text):
    create view as select * from test;
    Затем триггер, которые будет заменять операцию вставки если id будет равен 1 и обновлять столбец num в строчке с id равным 1 на значение 100(бредово, но это тест):
    Код (Text):
    create trigger trig_test instead of insert on trig when new.id=1 begin update test set num=100 where id=1; end;
    Вот не рабоатет ни в какую - если вставляю вот так:
    Код (Text):
    insert into test(id,num) value(1,200);
    то просто вставляет новую строчку, а в строке с id=1 ничего не меняется. И как я тольк не крутил создание триггера, никакого результата.
     
  2. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    скорее он просто не находит записи для апдейта
    просто изменить new.id нельзя?
     
  3. kotofej

    kotofej New Member

    Регистрация:
    6 авг 2009
    Сообщения:
    2
    Симпатии:
    0
    sasha465,
    по моему, триггер "instead of insert" должен висеть на вьюхе, и инсерт должен быть во вьюху.
     
Загрузка...

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