Rumah> pangkalan data> Oracle> teks badan

Bagaimana untuk menghantar parameter kepada pencetus pangkalan data Oracle

下次还敢
Lepaskan: 2024-04-07 16:48:18
asal
849 orang telah melayarinya

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:

CREATE OR REPLACE TRIGGER my_trigger BEFORE INSERT ON my_table FOR EACH ROW BEGIN :new.my_column := :old.my_column + 1; END;
Salin selepas log masuk

Kaedah 2: Menggunakan pragma autonomous_transaction

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

Contoh:

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;
Salin selepas log masuk
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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!