sql >> Databasteknik >  >> RDS >> Oracle

Oracle PL/SQL:Slinga över triggerkolumner dynamiskt

Nej, du kan inte referera till :old och :new värden dynamiskt. Som Shane föreslår kan du skriva kod för att generera den statiska triggerkoden, om det gör livet lättare. Du kan också göra "gör något här" till en paketprocedur så att din trigger blir:

CREATE OR REPLACE TRIGGER JOSH.TEST#UPD BEFORE 
UPDATE ON JOSH.TEST_TRIGGER_TABLE
begin    
   my_package.do_something_with (:old.col1, :new.col1);
   my_package.do_something_with (:old.col2, :new.col2);
   my_package.do_something_with (:old.col3, :new.col3);
   -- etc.
end;

(Du kan avstå från den meningslösa REFERENS-satsen förresten).



  1. SQL "OCH" eller "ELLER" kommer först?

  2. Hur väljer man pagineringsmässigt N antal poster från MySQL-databasen?

  3. BLOCKERAD tråd medan Oracle-proceduren körs från Java-klassen

  4. Hur kan jag ansluta till en annan databas under programmets körning med Laravel?