J'essaye de créer mon trigger mais cela demande des binds à chaque fois. Il fonctionne comme je le veux quand je clique sur appliquer sur la fenêtre qui apparaît ... Cependant, il va enregistrer une erreur ...Oracle PL/SQL Trigger demandant des binds
Mon déclencheur vérifie si un client est actif et ne permet pas changements si elle se trouve être actif ...
CREATE Trigger Client_Activity
BEFORE Insert or Update or Delete ON Client
FOR EACH ROW
DECLARE
VAR_AC char(2);
BEGIN
IF UPDATING THEN
SELECT Activity INTO VAR_AC
FROM Client_Additionals
WHERE Activity = :Old.Activity;
IF Activity = 'AC'
THEN Raise_Application_Error(-20999, 'active')
END IF;
END;
/
ORACLE VERSION 12 UTILISATION sqldeveloper
Mettez SET 'DEFONE OFF,' 'avant CREATE TRIGGER ....' déclaration, puis appuyez sur F5 'Run script' – krokodilko
@a_horse_with_no_name - le même que dans tous les cas où le code a des variables de liaison. Les différentes extrémités avant le font différemment. SQL \ * Plus dira simplement * La variable Bind "OLD" n'est pas déclarée *. SQL Developer ouvrira une fenêtre pop-up, intitulée "Enter binds", en attendant une valeur pour "Old". Je crois que Toad va faire quelque chose de similaire à SQL Developer. – mathguy
@krokodilko - Je ne pense pas que cela va guérir le problème ... Pourquoi le ferais-je? Le problème est une variable de liaison (accidentelle ou plutôt mal informée) et non une variable de substitution. – mathguy