Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle PL/SQL:Perulangan Kolom Pemicu Secara Dinamis

Tidak, Anda tidak dapat mereferensikan nilai :old dan :new secara dinamis. Seperti yang disarankan Shane, Anda dapat menulis kode untuk menghasilkan kode pemicu statis, jika itu membuat hidup lebih mudah. Selain itu, Anda dapat membuat "melakukan sesuatu di sini" menjadi prosedur paket sehingga pemicu Anda menjadi:

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;

(Omong-omong, Anda dapat membuang klausa REFERENSI yang tidak berguna).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tugas semut untuk memeriksa apakah database (koneksi) ada?

  2. Mengapa Prosedur Tersimpan ini Memasukkan nilai NULL ke dalam tabel?

  3. Penghargaan Pilihan Pengembang Database Oracle

  4. Bagaimana menangani pengecualian kursor ketika kueri pemilihan mengembalikan nol catatan

  5. Bagaimana cara menghapus / menghapus sepenuhnya Oracle 11g (klien)?