sql >> Databáze >  >> RDS >> Oracle

Oracle PL/SQL:Dynamicky opakovat spouštěcí sloupce

Ne, nelze dynamicky odkazovat na hodnoty :old a :new. Jak Shane navrhuje, můžete napsat kód pro generování statického spouštěcího kódu, pokud to usnadní život. Také můžete udělat „zde něco udělat“ do procedury balíčku, aby se váš spouštěč stal:

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;

(Mimochodem, můžete se zbavit nesmyslné klauzule REFERENCING).



  1. Robustnější kolace s podporou ICU v PostgreSQL 10

  2. Mohu detekovat a zpracovat varování MySQL pomocí PHP?

  3. Jak získat odlišné prvky pole s postgres?

  4. Jak vložit pole json do databáze mysql