sql >> Database teknologi >  >> RDS >> Oracle

Oracle PL/SQL:Loop over triggerkolonner dynamisk

Nej, du kan ikke referere til :gamle og :nye værdier dynamisk. Som Shane foreslår, kan du skrive kode for at generere den statiske triggerkode, hvis det gør livet lettere. Du kan også gøre "gør noget her" til en pakkeprocedure, så din trigger bliver:

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 forresten droppe den meningsløse REFERENCING-klausul).



  1. Er ODP.NET påkrævet til Oracle 11g Client?

  2. Tilføj et FULLTEXT-indeks i Lære 2 ved hjælp af anmærkninger?

  3. MySQL Deltag, hvor det ikke findes

  4. Sådan tilføjer du standardbegrænsning til eksisterende kolonner i SQL Server-tabel - SQL Server / TSQL selvstudium, del 91