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 :

PROBLEME INSERT INTO PL/SQL


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut PROBLEME INSERT INTO PL/SQL
    Bonjour, je suis sur une fonction en PL/SQL et j'ai un problème dans le cas d'une insertion dans une table.
    Dans mon code j'ai ceci pour une insertion selon des conditions :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    IF(l_n_typetraitinit = 1) THEN
     
                          BEGIN
     
    	                    INSERT 
    	                    INTO     T_ENTETE_APPEL_OFFRE_EAO
    	                       (Eao_idt_ent_appel_offre
    	                       , Eaa_Cod_ent_activite_ach
    	                       , Eao_Dat_deb_publication
    	                       , Eao_Dat_fin_publication
    	                       , Eao_Dat_deb_rcp_pf
    	                       , Eao_Dat_fin_rcp_pf
    	                       , Eao_Dat_generation_ao
    	                       , Eao_Dat_validation_ao
    	                       , Eao_Ind_etat
    	                       , Lfa_Cod_lieu_achat
    	                       , Eao_Dat_maj_auto_ao) 
    	                    VALUES (l_n_next_entete
    	                       , l_n_cod_ent_activite_ach
    	                       , l_d_dat_debut_publication
    	                       , l_d_dat_fin_publication
    	                       , l_d_dat_deb_rcp_pf
    	                       , l_d_dat_fin_rcp_pf
    	                       , p_d_val_date
    	                       , NULL
    	                       , 1
    	                       , l_v_cod_lieu_achat
    	                       , p_d_val_date);
     
                         EXCEPTION
     
                         WHEN OTHERS THEN
                         l_n_flag_r4          := 0;
                         -- writes an error message 20005
                         l_v_result_log := PCK_REJETS_ANOMALIES.FCT_CREATE_REPORT(20005,1,NULL,NULL);
                         PCK_REJETS_ANOMALIES.PRC_CREATE_ITEM_REPORT(l_v_result_log,1,g_v_fct_initialisation_ao);
     
                         END;
     
                      ELSE
     
                         BEGIN
     
    	                    INSERT 
    	                    INTO     T_ENTETE_APPEL_OFFRE_EAO
    	                       (Eao_idt_ent_appel_offre
    	                       , Eaa_Cod_ent_activite_ach
    	                       , Eao_Dat_deb_publication
    	                       , Eao_Dat_fin_publication
    	                       , Eao_Dat_deb_rcp_pf
                                   , Eao_Dat_fin_rcp_pf
    	                       , Eao_Dat_generation_ao
    	                       , Eao_Dat_validation_ao
    	                       , Eao_Ind_etat
    	                       , Lfa_Cod_lieu_achat
    	                       , Eao_Dat_maj_auto_ao) 
    	                    VALUES (l_n_next_entete
    	                       , l_n_cod_ent_activite_ach
    	                       , l_d_dat_debut_publication
    	                       , l_d_dat_fin_publication
    	                       , l_d_dat_deb_rcp_pf
    	                       , l_d_dat_fin_rcp_pf
    	                       , p_d_val_date
    	                       , NULL
    	                       , 0
    	                       , l_v_cod_lieu_achat
    	                       , p_d_val_date);
                      EXCEPTION
     
                      WHEN OTHERS THEN
                         l_n_flag_r4          := 0;
                         -- writes an error message 20005
                         l_v_result_log := PCK_REJETS_ANOMALIES.FCT_CREATE_REPORT(20005,1,NULL,NULL);
                         PCK_REJETS_ANOMALIES.PRC_CREATE_ITEM_REPORT(l_v_result_log,1,g_v_fct_initialisation_ao);
     
                      END;
     
                      END IF;
    Or rien n'est ajouté à ma table alors qu'en mettant des (RETURN('IciOuLa')) dans le code j'arrive à voir que ça passe juste après le BEGIN du ELSE mais pas juste après la requête d'insertion car ça me jette une EXCEPTION . . .

    Vu ce que ça fait je suis sur que c'est vraiment une petite erreur de rien du tout mais elle me gâche ma journée . . .

    Merci d'avance à tous !

    P.S.: Je rajoute que lorsque je copie juste la requête INSERT et que je l'exécute avec les valeurs qu'elle prend et ben ça marche . . .

  2. #2
    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
    r ça me jette une EXCEPTION . .
    Oui.. et laquelle ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Quel est le message d'erreur ?
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Ben ça passe dans le bloque WHEN OTHER mais je sais pas laquelle car j'ai essayer de mettre tous les types d'exception possible et ça ne passer dans aucun d'eux, juste dans le WHEN OTHER . . .
    Et j'arrive pas a laisser de traces dans la console de log de sqldeveloper . . .

  5. #5
    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
    sqlerrm(sqlcode) dans le when others te donnera l'erreur.
    sinon, ne met pas de gestion d'erreur, tu la verra bien dans sqldev
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Apparemment, le code erreur que ça me retourne est -1400.
    Quelqu'un sait-il précisément de quoi il s'agit ?
    Car après une petite recherche j'ai l'impression que ça vient d'un nom respect d'une contrainte non ?!

  7. #7
    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
    http://www.ora-code.com

    ou en accès direct http://ora-01400.ora-code.com

    ORA-01400: cannot insert NULL into (string)
    Cause: An attempt was made to insert a NULL into the column "USER"."TABLE"."COLUMN".

    For example, if you enter:


    connect scott/tiger create table a (a1 number not null); insert into a values (null);

    Oracle returns:


    ORA-01400 cannot insert NULL into ("SCOTT"."A"."A1") : which means you cannot insert NULL into "SCOTT"."A"."A1".

    Action: Retry the operation with a value other than NULL.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    D'une merci pour le lien ! Il devrait m'aider et que pas pour de suite en plus !
    Et ben je vais voir laquelle de mes valeurs est à null alors qu'elle a une contrainte not null mais il me sembler pas en avoir vu . . .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] probleme INSERT INTO
    Par marcito dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 24/07/2007, 19h03
  2. [T-SQL] Probleme INSERT INTO
    Par edevouge dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/06/2007, 13h16
  3. Probleme Insert INTO
    Par DjSoulz dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/03/2007, 08h33
  4. Syntaxe d'une variable boolean dans INSERT INTO en SQL
    Par frevale dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 13/05/2006, 19h26
  5. probleme insert into
    Par w.b. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/02/2005, 10h34

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