2017-08-28 1 views
0

Problem Statement:ORACLE SQL: Nach dem Update-Trigger

einen Trigger erstellen trigger_contact_af_update genannt, die ausgelöst wird, wenn die contact Tabelle aktualisiert wird. Dieser Trigger fügt nach der Aktualisierung der Kontaktdetails org_name und die Aktion in die Tabelle contact_log_history ein. Der Aktionsname in der betroffenen Protokolltabelle contact_log_history lautet After_Update_Contact.

Die Abfrage, die ich im Moment haben, ist:

CREATE OR REPLACE TRIGGER trigger_contact_af_update 
AFTER UPDATE ON contact 
FOR EACH ROW 
BEGIN 
INSERT INTO contact_log_history (org_name, action) Values (:OLD.org_name, 'After_Update_Contact'); 
END; 

Aber es funktioniert nicht. Kann mir bitte jemand sagen warum?

Die Tabelle contact_log_history hat nur zwei Spalten.

+4

"* Es funktioniert nicht *" ist keine gültige Oracle-Fehlermeldung. –

+0

Ich bekomme keine Fehlermeldungen. Der Auslöser tut einfach nichts. – prince

+0

Mmm, würdest du bitte versuchen: 'ALTER TRIGGER trigger_name ENABLE;' – sagi

Antwort

0

Die Verwendung der: OLD-Variablen funktioniert nur, wenn ein Vorher-Trigger verwendet wird. Ich würde dir empfehlen, das in deinem Fall zu tun.

CREATE OR REPLACE TRIGGER trigger_contact_af_update 
BEFORE UPDATE ON contact 
FOR EACH ROW 
BEGIN 
INSERT INTO contact_log_history (org_name, action) Values (:old.org_name, 'After_Update_Contact'); 
END; 
+0

Nein. Immer noch keine Würfel. Aber trotzdem danke – prince

+0

Können Sie mir eine Ihrer Update-Anweisungen zeigen? –

+0

Update Kontaktsatz Org_name = 'einige' wo ID = 1; – prince

Verwandte Themen