Rumah >pangkalan data >Oracle >Bagaimana untuk menghantar parameter kepada pencetus pangkalan data Oracle

Bagaimana untuk menghantar parameter kepada pencetus pangkalan data Oracle

下次还敢
下次还敢asal
2024-04-07 16:48:181006semak imbas

Pencetus pangkalan data Oracle boleh menerima parameter untuk meningkatkan fleksibiliti. Terdapat dua cara untuk lulus parameter: 1. Penetapan langsung: mengisytiharkan parameter dalam definisi pencetus dan menggunakan akses nama dalam kod pencetus; parameter capaian.

Bagaimana untuk menghantar parameter kepada pencetus pangkalan data Oracle

Harus Parameter Pencetus Pangkalan Data Oracle

Pencetus boleh menerima parameter, yang meningkatkan fleksibilitinya dan membolehkan tindakan tersuai dilakukan berdasarkan syarat tertentu. Pangkalan Data Oracle menyokong menghantar parameter kepada pencetus dalam dua cara:

Kaedah 1: Tugasan langsung

  • Gunakan titik bertindih (:) dalam definisi pencetus untuk mengisytiharkan parameter pencetus.
  • Dalam kod pencetus, akses parameter yang diluluskan menggunakan namanya.

Contoh:

<code class="sql">CREATE OR REPLACE TRIGGER my_trigger
BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
  :new.my_column := :old.my_column + 1;
END;</code>

Kaedah 2: Menggunakan pragma autonomous_transaction

  • Gunakan pragma autonomous_transaction dalam definisi pencetus. pragma autonomous_transaction
  • 在触发器代码中,使用 autonomous_transaction
  • Dalam kod pencetus, gunakan fungsi autonomous_transaction untuk mengakses parameter PL/SQL.

Contoh:

<code class="sql">CREATE OR REPLACE TRIGGER my_trigger
PRAGMA AUTONOMOUS_TRANSACTION
BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
  autonomous_transaction.new.my_column := autonomous_transaction.old.my_column + 1;
END;</code>
Nota:
  • Parameter pencetus hanya boleh dalam parameter.
  • Nilai parameter yang diluluskan kekal tidak berubah semasa pelaksanaan pencetus.
  • Apabila menggunakan pragma autonomous_transaction, pencetus akan dijalankan dalam transaksi AUTONOMOUS, diasingkan daripada transaksi yang dipanggil oleh pencetus.
🎜

Atas ialah kandungan terperinci Bagaimana untuk menghantar parameter kepada pencetus pangkalan data Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn