Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Newbie Trigger question
I'm trying to implement a trigger which traps all update and delete
events. Basically, I have 2 final issues to resolve. Since I want to
record the OSuser name and not the Oracle uer name, I need to do a
select from V$SESSION to get the data value. I've tried just placing
the select:
select OSuser from v$session into local_user; {where the local_user is
a declared varchar2}
but the SQL keeps choking when I try to create the trigger.
The second question is how can I format sysdate to include the time ?
TIA,
Cliff
{see below}
create or replace trigger registry_audit
*
ERROR at line 1:
ORA-06550: line 8, column 19: PLS-00103: Encountered the symbol "FROM" when expecting one of the following:
ORA-06550: line 25, column 6: PLS-00103: Encountered the symbol "IF" when expecting one of the following:
SQL> l
1 create or replace trigger test_audit
2 before update or delete on test_table
3 for each row
4 declare
5 user varchar2(30);
6 begin
7 if updating then 8 select OSuser from v$session into user; 9 if :old.prefix != :new.prefix then 10 insert into chemstrux_audit11
12 end if; 13 if :old.base != :new.base then 14 insert into chemstrux_audit15
16 end if; 17 if :old.form != :new.form then 18 insert into chemstrux_audit19
20 end if; 21 if :old.ck != :new.ck then 22 insert into chemstrux_audit 23 values('REGISTRY',user,'CK',:old.ck,:new.ck,sysdate); 24 end if; 25 end if; 26 if deleting then 27 insert into chemstrux_audit
33 insert into chemstrux_audit 34 values('REGISTRY',user,'CK',:old.ck,'DELETED',sysdate); 35 end if;
The contents of this message express only the sender's opinion. This message does not necessarily reflect the policy or views of my employer, Merck & Co., Inc. All responsibility for the statements made in this Usenet posting resides solely and completely with the sender.Received on Wed May 20 1998 - 11:35:51 CDT
![]() |
![]() |