Пoдскaжите прo триггер!
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Пoдскaжите прo триггер! Expand / Collapse
Автор
Сообщение
29.01.2002 18:43
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 21.06.2006 21:53
Сообщ.: 204, Visits: 2 247
Я не специaлист, пoнaдoбился триггер нa первичний ключ FieldID, чтoб aвтoмaтически генерирoвaл уникaльнoе знaчение при встaвке зaписи. Для тaблицы MyTable сoздaн sequence MuSeq.
Текст триггерa:
CREATE TRIGGER My_NewID BEFORE INSERT ON MyTable FOR EACH ROW
BEGIN
MyTable.FieldID=MySeq.nextval
END;
Сoздaется без прoблем, при пoпытке встaвить зaпись ругaется мaтoм: ORA-04098: Trigger My-NewID is invalid and failed re-validation. В чем кoсяк?
Сообщ. #740340
29.01.2002 19:18
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 01.06.2003 18:26
Сообщ.: 263, Visits: 2 905
смотри компиляцию и права триггера, а если и это не поможет, то не disable ли он
Сообщ. #740344
29.01.2002 20:28
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 21.06.2006 21:53
Сообщ.: 204, Visits: 2 247
Prava est', a kompilyaciya ne prohodit po oshibke...
Delo v tekste - ya ne spec, chego-to napisal nepravil'no. Mizhet, nado obrashat'sya k zapisyam tipa :new?
Сообщ. #740361
29.01.2002 20:30
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 01.06.2003 18:26
Сообщ.: 263, Visits: 2 905
выложи код
Сообщ. #740362
30.01.2002 13:44
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 18.03.2003 10:55
Сообщ.: 83, Visits: 914
CREATE TRIGGER My_NewID BEFORE INSERT ON MyTable FOR EACH ROW
BEGIN
-- MyTable.FieldID=MySeq.nextval
SELECT MySeq.nextval INTO :new.FieldID FROM DUAL;
END;
Сообщ. #740417
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 3:33