Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle PL/SQL:Динамично преобръщане на тригерни колони

Не, не можете да препращате към :old и :new стойности динамично. Както предлага Шейн, можете да напишете код за генериране на статичен тригерен код, ако това улеснява живота. Освен това можете да направите „направи нещо тук“ в пакетна процедура, така че вашият тригер да стане:

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;

(Между другото можете да се откажете от безсмислената клауза REFERENCING).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL множество колони в IN клауза

  2. Заредете текстови файлове като clob към база данни

  3. Как да получите записи на случаен принцип от базата данни на Oracle?

  4. TNS-12519 без максимален достигнат процес

  5. Преминете през предварително зададени стойности