Maison > base de données > Oracle > le corps du texte

Comment transmettre des paramètres au déclencheur de base de données Oracle

下次还敢
Libérer: 2024-04-07 16:48:18
original
855 Les gens l'ont consulté

Les déclencheurs de base de données Oracle peuvent recevoir des paramètres pour améliorer la flexibilité. Il existe deux manières de transmettre des paramètres : 1. Affectation directe : déclarez les paramètres dans la définition du déclencheur et utilisez l'accès au nom dans le code du déclencheur ; 2. Utilisez pragma autonome_transaction : utilisez pragma dans la définition du déclencheur et utilisez autonome_transaction dans le code du déclencheur ; accéder aux paramètres.

Comment transmettre des paramètres au déclencheur de base de données Oracle

Transmission des paramètres de déclenchement de la base de données Oracle

Les déclencheurs peuvent recevoir des paramètres, ce qui améliore leur flexibilité et permet d'effectuer des actions personnalisées en fonction de conditions spécifiques. Oracle Database prend en charge la transmission de paramètres aux déclencheurs de deux manières :

Méthode 1 : affectation directe

  • Utilisez deux points (:) dans la définition du déclencheur pour déclarer les paramètres du déclencheur.
  • Dans le code du déclencheur, accédez au paramètre transmis en utilisant son nom.

Exemple :

<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>
Copier après la connexion

Méthode 2 : Utilisation de pragma autonome_transaction

  • Utilisez pragma autonome_transaction dans la définition du déclencheur. pragma autonomous_transaction
  • 在触发器代码中,使用 autonomous_transaction
  • Dans le code déclencheur, utilisez la fonction autonomous_transaction pour accéder aux paramètres PL/SQL.

Exemple :

<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>
Copier après la connexion
Remarque :
  • Les paramètres de déclenchement ne peuvent être que des paramètres IN.
  • La valeur du paramètre transmise reste inchangée pendant l'exécution du déclencheur.
  • Lors de l'utilisation de pragma autonome_transaction, le déclencheur s'exécutera dans la transaction AUTONOMOUS, isolée de la transaction appelée par le déclencheur.
🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!