IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Trigger : Données non trouvées :new


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juin 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1
    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 : 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
    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;

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139
    Par défaut
    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

Discussions similaires

  1. Base de données non trouvée
    Par ghassen_khalil dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 15/01/2015, 10h58
  2. Réponses: 2
    Dernier message: 14/04/2011, 15h24
  3. [MySQL] Base de donnée non trouvée
    Par Philcmoi dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/10/2009, 14h09
  4. map et données non trouvée ?
    Par hpfx dans le forum SL & STL
    Réponses: 3
    Dernier message: 03/10/2008, 17h45
  5. importation de données : fichier non trouvé
    Par sam01 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 18/01/2007, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo