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 :

[PL/SQL] INSERT dans procédure stockées


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 46
    Points : 30
    Points
    30
    Par défaut [PL/SQL] INSERT dans procédure stockées
    Bonjour,

    j'essaye de faire un insert dans une table depuis ma procedure stockée.

    ...

    BEGIN
    INSERT INTO table VALUES
    ( v_nom, --Varchar2
    v_prenom, --Varchar2
    v_age, --integer
    v_dateNaiss --date
    );
    END

    ...
    cependant l'insertion ne se fait pas et j'ai une exception qui est levé. Mes données sont corrects (j'ai essayer de faire un insert directement en base et ça marche)
    est-ce que vous avez des idées ou des pistes pour que ça marche?

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Points : 39
    Points
    39
    Par défaut
    C'est quoi l'erreur levé ??
    Ya pas de commit non plus, ça peut venir de la

  3. #3
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cependant l'insertion ne se fait pas et j'ai une exception qui est levé.
    Alors là, il va falloir apprendre à fournir plus d'informations, notament sur les erreurs par cqu'auncun de nous n'est devin ! (il existe des milliers d'exceptions)

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Un INSERT INTO TABLE sans nom de colonne : A EVITER ABSOLUMENT.

    Fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into table (col1, col2...) values (v1, v2..)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 46
    Points : 30
    Points
    30
    Par défaut
    J'ai l'erreur ORA-14551 : cannot perform a DML operation inside a query


    en fait j'ai une fonction dans mon package qui fait des tests sur des données puis les insert en base et me retourne un message pour me dire si l'insertion est bien passer. C'est au niveau de l'insertion que j'ai ce message d'erreur.

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    C'est ton appel qui n'est pas bon, tu dois faire un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ta_fonction() into ton_retour from dual
    , Mais on a pas le droit de faire des modifs à l'interrieur d'un select, il faut donc rester en pl/sql pur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BEGIN
    ...
    to_retour := ta_fonction();
    ...
    END;
    /

Discussions similaires

  1. [2012] Insert dans procédure stockée
    Par fluche dans le forum Développement
    Réponses: 2
    Dernier message: 10/06/2014, 16h11
  2. Requête INSERT dans procédure stockée
    Par ordiminnie dans le forum Développement
    Réponses: 7
    Dernier message: 30/10/2008, 22h17
  3. Requête SQL particulière dans procédure stockée
    Par stephane.julien dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/05/2008, 10h56
  4. SQL dans Procédure stockée
    Par julure dans le forum Oracle
    Réponses: 13
    Dernier message: 02/11/2004, 16h57
  5. INSERT avec procédure stockée / Clef de type AutoInc
    Par bgdelphi dans le forum Bases de données
    Réponses: 5
    Dernier message: 18/10/2003, 18h30

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