sql >> Database >  >> RDS >> Oracle

Oracle PL/SQL:Dynamisch doorlussen van triggerkolommen

Nee, u kunt niet dynamisch verwijzen naar :old en :new waarden. Zoals Shane suggereert, kun je code schrijven om de statische triggercode te genereren, als dat het leven gemakkelijker maakt. U kunt ook van "doe hier iets" een pakketprocedure maken, zodat uw trigger wordt:

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;

(Je kunt de zinloze REFERENCING-clausule trouwens weggooien).



  1. verander auto_increment binnen dezelfde tabel met behulp van subquery mysql

  2. PostgreSQL maakt een nieuwe kolom met waarden die afhankelijk zijn van andere kolommen

  3. postgresql:besteld resultaat

  4. ZF2 valideert datum- en tijdformaat PT_BR altijd De invoer lijkt geen geldige datum te zijn