Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle PL/SQL:zapętlaj dynamicznie kolumny wyzwalające

Nie, nie możesz dynamicznie odwoływać się do wartości :old i :new. Jak sugeruje Shane, możesz napisać kod generujący statyczny kod wyzwalający, jeśli to ułatwia życie. Możesz także zrobić "zrób coś tutaj" w procedurze pakietu, tak aby wyzwalacz stał się:

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;

(Przy okazji możesz zrezygnować z bezsensownej klauzuli 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. jak uzyskać czas w milisekundach z pola daty wyroczni dla daty 01-01-9999

  2. Nie można załadować pliku lub zestawu „Oracle.DataAccess” 64-bitowy ODP.NET

  3. Nie można uzyskać dostępu do pola przez hibernację w bazie danych Oracle w innej przestrzeni użytkownika z tylko wybranymi uprawnieniami

  4. Plany adaptacyjne 12c w SQL Developer

  5. Zduplikowana definicja dla:„identifiedType”