trigger syntax problem : [message #41224] |
Wed, 11 December 2002 02:40 |
vikas agrawal
Messages: 1 Registered: December 2002
|
Junior Member |
|
|
hi,
I would like to fire trigger
on table say Table1.
REATE OR REPLACE TRIGGER "Table1_TRIG" BEFORE UPDATE OF
STMID,STMNAME,STMOPERATION,STM_MKR_CODE,STM_MKR_DATE,STM_BANK_CD,STM_BRANCH_CD....... ON table1
FOR EACH ROW
BEGIN
;;;;;;;;;;
END;
Now problem is that my table having more then 50
field say 50 field .
i would like that trigger should fire when any of 49 field updated except one field.
Is It necessary for me to write all 49 field name.
Regards.
Vikas
|
|
|
Re: trigger syntax problem : [message #41228 is a reply to message #41224] |
Wed, 11 December 2002 06:51 |
|
Mahesh Rajendran
Messages: 10707 Registered: March 2002 Location: oracleDocoVille
|
Senior Member Account Moderator |
|
|
INTRESTING.
try this! (May be someone can give a more elegant solution).
SQL> ed
Wrote file afiedt.buf
1 create or replace trigger dep_trig
2 before update on dept
3 referencing old as old new as new
4 for each row
5 begin
6 dbms_output.put_line('trigger enabled');
7 -- do your business here
8 :new.dname:=:old.dname;
9* end;
SQL> /
Trigger created.
SQL> update dept set loc='dallas';
trigger enabled
trigger enabled
trigger enabled
trigger enabled
4 rows updated.
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING dallas
20 RESEARCH dallas
30 SALES dallas
40 OPERATIONS dallas
SQL> update dept set dname='new' where deptno=10;
trigger enabled
1 row updated.
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING dallas
20 RESEARCH dallas
30 SALES dallas
40 OPERATIONS dallas
|
|
|