Нужен такой тригер в SQLite:
CREATE TRIGGER TBI_tmp
BEFORE INSERT ON tmp
BEGIN
/* проверим существует ли такой тип в таблице TypeRef */
IF (NOT EXISTS(SELECT Type FROM TypeRef WHERE Type = new.Type))THEN
INSERT INTO TypeRef (Type) VALUE (new.Type);
END;
Возможно подойдёт
Если нет - можно написать явно в коде или воспользоваться
я пытался еще так сделать
CREATE TEMPORARY TRIGGER TBI_tmp
BEFORE INSERT ON tmp
BEGIN
/* проверим существует ли такой тип в таблице TypeRef */
CASE
WHEN (NOT EXISTS(SELECT Type FROM TypeRef WHERE Type = new.Type)) THEN
INSERT INTO TypeRef (Type) VALUE (new.Type);
END
END;
Но получил совсем неожиданную ошибку: "Нет такой таблицы TypeRef", хотя селект отдельно работает (проверял копированием дабы избежать опечаток), разумеется условие было жесткое.Ты таки попялься на синтаксическую диограмму для триггера и попробуй понять о каком именно when я писал.
... FOR EACH ROW WHEN...
про эту?
Ага.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)