Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

using local functions in compound triggers

48665Nov 4 2009
Hi anybody,

I'm using ora11gR2. Tried the new compound trigger feature. I define a before each row and an after statement section. Additionally I define several local functions in top of trigger body. In local procedure ( insdelupd within this example ) I get data of old-buffer, but not data of new-buffer. After execution of assignments in insdelupd the variable ParentKeyListOld is filled with actual value of ID1, while ParentKeyListNew is just filled with delimiter ':'. I got the idea, a local procedure outside the specialized trigger sections ( statement or row level ) could be called from both types, but :new and :old-buffers only make sense within row-level section and therefore ther could'nt be access to these buffers. But as debugger shows: the :old-buffer is filled with data.

Has anybody an idea ?
thanks in advance

Wilko Helms
CREATE OR REPLACE TRIGGER BTK."tcm_testtable_1_hp"
for delete or insert or update on BTK.TESTTABLE_1
compound trigger
...
  ParentKeyListNew varchar2(4096);
  ParentKeyListOld   varchar2(4096);
...
  procedure InsDelUpd as
  begin
    if updating then
      ..
      ParentKeyListNew := ParentKeyListNew || :new.ID1 || ':';
      ParentKeyListOld := ParentKeyListOld || :old.ID1 || ':';
      ..
    end if;
  end;

  before each row is
  begin
     ..
     InsDelUpd;
  end before each row;

  after statement is
  begin
    ..
    ..
  end after statement;
end;
/
[Code]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 2 2009
Added on Nov 4 2009
0 comments
299 views