Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/06/2008, 16h26   #1
Invité de passage
 
Inscription : juin 2008
Messages : 1
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 1
Points : 0
Points : 0
Par défaut Trigger : Données non trouvées :new

J'essaie de lancer une procédure portant sur un nouvel enregistrement, et j'essaie de récupérer la valeur du :new

Ce que j'ai essayé renvoie soit table en mutation soit données non trouvées.

Il existe un autre trigger BEFORE INSERT qui alimente le numéro id. Apparemment, mon code a du mal à le trouver.

Au secours ! Merci de m'aider, voici une partie du code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CREATE OR REPLACE TRIGGER CM_T_TOT
AFTER UPDATE OR INSERT
ON AM_EMPLOYEE
FOR EACH ROW
DECLARE
enrnoempl NUMBER;
enrnosh NUMBER;
numempl NUMBER;
 
BEGIN
 
  IF INSERTING THEN
     --numempl:=:NEW.EMPLOYEE_ID;
      --ou
      --SELECT :new.EMPLOYEE_ID INTO NUMEMPL FROM AM_EMPLOYEE; 
      --DBMS_OUTPUT.PUT_LINE(numempl);
     -- procedure alimentant une table
      MAJDONNEES.CM_MAJEMP1(:NEW.EMPLOYEE_ID);
 
    SELECT CM_INT_EMPL.EMPLOYEE_ID, CM_INT_EMPL.VALIDATOR_ID, INTO enrnoempl, enrnosh FROM CM_INT_EMPL
    WHERE CM_INT_EMPL.EMPLOYEE_ID=:NEW.EMPLOYEE_ID;
 
    UPDATE AM_EMPLOYEE
    SET VALIDATOR_ID=enrnosh
    WHERE EMPLOYEE_ID =:NEW.EMPLOYEE_ID;
mimiu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 16h56   #2
Membre habitué
 
Inscription : février 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2006
Messages : 139
Points : 126
Points : 126
Tu ne peux pas faire un update de la meme table qui est à l'origine du declenchement du trigger.
Au mieux tu remplace l'update par
:NEW.VALIDATOR_ID:=enrnosh;

mais il faut voir avec ton EMPLOYEE_ID si tu es sur le bon enregistrement

cdt
kervoaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h18.


 
 
 
 
Partenaires

Hébergement Web