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

SQL Oracle Discussion :

ma procedure ne s'execute pas


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Par défaut ma procedure ne s'execute pas
    bonjour a tous !
    voila mon probleme du jour :

    j'ai une procédure :

    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
    26
    27
     
    CREATE OR REPLACE PROCEDURE NEGOCEX32.VERIF_DOUBLON_PLANIF_IU 
    (typeEntree IN VARCHAR2,datePlan IN VARCHAR2)
     
    is 
     
    var_plan VARCHAR2(50);
    var_date VARCHAR2(15);
    var_timestamp VARCHAR2(50);
     
    BEGIN
     
    var_plan:= 'PLANIF';
    var_timestamp:= TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS');
    var_date:= :new.DATEPLAN_0;
     
    EXECUTE IMMEDIATE
    '
    insert into NEGOCEX32.XSESSION XSS
    (XSS.SNUM_SES_0,XSS.STYPE_0,XSS.SDATE_0,XSS.STIMESTAMP_0)
    values
    ('' '',''PLANIF'',''' || var_date || ''',''' || var_timestamp || ''')
     
    ';
     
    END;
    /
    un trigger :

    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
     
     
    CREATE OR REPLACE TRIGGER NEGOCEX32.PLANIF_IU 
    AFTER 
    insert or update on NEGOCEX32.XPLANBPE 
    for each row  
     
     
    DECLARE
     
    var_type VARCHAR2(50);
    var_date VARCHAR2(15);
     
    begin 
     
    var_type:= 'PLANIF';
    var_date:= :new.DATEPLAN_0;
     
    VERIF_DOUBLON_PLANIF_IU(var_type,var_date);
     
    end;
    ils sont tous les deux testés il n'y a pas de pb de compilation.

    mais j'ai un truck bizzare quand je fait declencher mon trigger qui doit executer ma procédure VERIF_DOUBLON_PLANIF_IU il ne ce passe rien

    alors j'ai testé en ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL>execute VERIF_DOUBLON_PLANIF_IU('PLANIF','14/02/08');
    et la ça marche nikel je comprend pas pourkoi !? merci de votre aide

    PS/ ne cherchez pas l'utilité de la procédure car j'ai pas terminé

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    le EXECUTE IMMEDIATE est inutile déjà

    Essaye :

    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 PROCEDURE NEGOCEX32.VERIF_DOUBLON_PLANIF_IU 
    (typeEntree IN VARCHAR2,datePlan IN VARCHAR2)
     
    IS 
     
    var_plan VARCHAR2(50);
    var_date VARCHAR2(15);
    var_timestamp VARCHAR2(50);
     
    BEGIN
     
    var_plan:= 'PLANIF';
    var_timestamp:= TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS');
    var_date:= :new.DATEPLAN_0;
     
    insert into NEGOCEX32.XSESSION XSS
    (XSS.SNUM_SES_0,XSS.STYPE_0,XSS.SDATE_0,XSS.STIMESTAMP_0)
    values
    (' ',var_plan,var_date || ','|| var_timestamp );
     
    END;
    /
    Sinon, t'as fait comment pour déclencher le trigger ? T'as essayé d'ajouter un DBMS_OUTPUT pour vérifier que tu passes bien dedans ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Par défaut
    pour declencher le trigger j'ai une requete update mais c'est vrai que j'ai pas essayé le DBMS_OUTPUT que je test de suite a toute !!
    et pour le execute immediate ben j'ai réussi à le faire marcher que comme ça, mais je test ta modif merci beaucoup

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Par défaut
    bon resultat des course j'arrive pas a faire marcher sans le execute immediate il me met des erreurs de compilation et j'ai ecrit la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dbms_output.put_line('ok');
    et rien ne s'affiche sur aucun des deux dailleur peut etre je l'ecrit mal !?

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par highs Voir le message
    il me met des erreurs de compilation
    Il faut les deviner ?

    Citation Envoyé par highs Voir le message
    et rien ne s'affiche sur aucun des deux dailleur
    Donc, le trigger ne se déclenche pas

    Citation Envoyé par highs Voir le message
    peut etre je l'ecrit mal !?
    si tu parles de ton orthographe, en effet

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    est-ce que le trigger est bien créé d'ailleurs... parce qu'il manque un / à la fin du code que tu as mis

Discussions similaires

  1. Lsmod ne s'execute pas
    Par bmamine dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 25/11/2005, 16h45
  2. Mon getline ne s'execute pas.
    Par mail1789 dans le forum C++
    Réponses: 7
    Dernier message: 21/08/2005, 19h42
  3. help please[global.asa] il s'execute pas!
    Par thief dans le forum ASP
    Réponses: 6
    Dernier message: 24/03/2005, 13h10
  4. ShellExecuteEx ne s'execute pas à chaque fois??
    Par Gothico dans le forum MFC
    Réponses: 11
    Dernier message: 01/03/2005, 22h02
  5. [Kylix] Compilation OK Execution pas ok
    Par teurf dans le forum EDI
    Réponses: 14
    Dernier message: 03/12/2002, 15h10

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