Bonjour,
Je bloque sur un problème dans mon trigger.
J'ai un table qui contient des utilisateurs avec une trentaine de champs (numéro personne, téléphone, manager,...)
J'exporte ces données depuis excel.
Je voudrais créér un trigger qui si l'utilisateur existe déjà fait juste un update.
Voici le code de mon trigger :
ma procédure update_user prend en paramètre une variable de type user%ROWTYPE. Seulement je ne trouve pas comment récupérer toute la ligne qui devrait être insérée... sur la ligne colorée en rouge, à la compilation il me dit : "Error(21,40): PLS-00049: bad bind variable 'NEW'". J'ai essayé :new.*, :new.all, :new.row, rien n'y fait...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 create or replace trigger BIER_USER BEFORE INSERT on USER FOR EACH ROW declare nb_user integer; exist_user exception; begin select count(core_id) into nb_user from resmgt_mot_user where core_id = :new.core_id; if nb_user > 0 then raise exist_user; end if; EXCEPTION --If the person is already register in the database then update WHEN exist_user THEN pkg_resmgt.update_user(:new); end;
Quelqu'un aurait une idée ???
Partager