p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre actif
    Inscrit en
    juin 2006
    Messages
    642
    Détails du profil
    Informations forums :
    Inscription : juin 2006
    Messages : 642
    Points : 191
    Points
    191

    Par défaut Problème avec insert de plusieurs lignes dans Oracle avec toad

    Bonjour je voudrais insérer plusieurs code postaux avec une seul requête:

    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
     
    INSERT INTO tbl_code_postal (ID_CODE_POSTAL,CODE,LOCALITE,PAYS) VALUES
    (1, 1000, 'BRUXELLES - BRUSSEL', 'B'),
    (2, 1000, 'BRUXELLES', 'B'),
    (3, 1000, 'BRUSSEL', 'B'),
    (9, 1020, 'BRUXELLES', 'B'),
    (10, 1020, 'BRUSSEL', 'B'),
    (12, 1020, 'LAEKEN', 'B'),
    (14, 1030, 'BRUXELLES', 'B'),
    (18, 1040, 'BRUXELLES', 'B'),
    (19, 1040, 'ETTERBEEK', 'B'),
    (31, 1050, 'BRUXELLES', 'B'),
    (33, 1050, 'IXELLES', 'B'),
    (36, 1060, 'BRUXELLES', 'B'),
    (40, 1060, 'SAINT-GILLES', 'B'),
    (42, 1070, 'ANDERLECHT', 'B'),
    (43, 1070, 'BRUXELLES', 'B'),
    (48, 1080, 'BRUXELLES', 'B'),
    (52, 1080, 'MOLENBEEK-SAINT-JEAN', 'B'),
    (53, 1090, 'BRUXELLES', 'B'),
    (55, 1090, 'JETTE', 'B'),
    (58, 1120, 'BRUXELLES', 'B'),
    (59, 1120, 'NEDER-OVER-HEEMBEEK', 'B'),
    (60, 1130, 'BRUXELLES', 'B'),
    (61, 1140, 'BRUXELLES', 'B'),
    (63, 1140, 'EVERE', 'B'),
    (66, 1150, 'BRUXELLES', 'B'),
    (69, 1150, 'WOLUWE-SAINT-PIERRE', 'B'),
    (71, 1160, 'BRUXELLES', 'B'),
    (75, 1170, 'BRUXELLES', 'B'),
    (76, 1170, 'WATERMAEL-BOITSFORT', 'B'),
    (77, 1180, 'BRUXELLES', 'B'),
    (82, 1190, 'BRUXELLES', 'B'),
    (85, 1200, 'BRUXELLES', 'B'),
    (87, 1210, 'BRUXELLES', 'B');
    J'utilise toad, celui-ci me signale une erreur sur la ","(entre la première valeur à insérer et la deuxième) ORA-00933: la commande SQL ne se termine pas correctement.

    Oracle ne permet pas d'insérer plusieurs lignes avec la clause VALUES ????

    Comment puis je faire ??

  2. #2
    Membre Expert
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    septembre 2007
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2007
    Messages : 744
    Points : 1 369
    Points
    1 369

    Par défaut

    cerntain SGBD ne supporte pas cette syntaxe
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  3. #3
    Membre Expert
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    septembre 2007
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2007
    Messages : 744
    Points : 1 369
    Points
    1 369

    Par défaut

    sinon il y a un autre moyen de faire un insert sous une seule SQL.
    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
     
    insert inti tbl_code_postal (ID_CODE_POSTAL,CODE,LOCALITE,PAYS) 
    select 1, 1000, 'BRUXELLES - BRUSSEL', 'B' from dual union
    select 2, 1000, 'BRUXELLES', 'B' from dual union
    select 3, 1000, 'BRUSSEL', 'B' from dual union
    select 9, 1020, 'BRUXELLES', 'B' from dual union
    select 10, 1020, 'BRUSSEL', 'B' from dual union
    select 12, 1020, 'LAEKEN', 'B' from dual union
    select 14, 1030, 'BRUXELLES', 'B' from dual union
    select 18, 1040, 'BRUXELLES', 'B' from dual union
    select 19, 1040, 'ETTERBEEK', 'B' from dual union
    select 31, 1050, 'BRUXELLES', 'B' from dual union
    select 33, 1050, 'IXELLES', 'B' from dual union
    select 36, 1060, 'BRUXELLES', 'B' from dual union
    select 40, 1060, 'SAINT-GILLES', 'B' from dual union
    select 42, 1070, 'ANDERLECHT', 'B' from dual union
    select 43, 1070, 'BRUXELLES', 'B' from dual union
    select 48, 1080, 'BRUXELLES', 'B' from dual union
    select 52, 1080, 'MOLENBEEK-SAINT-JEAN', 'B' from dual union
    select 53, 1090, 'BRUXELLES', 'B' from dual union
    select 55, 1090, 'JETTE', 'B' from dual union
    select 58, 1120, 'BRUXELLES', 'B' from dual union
    select 59, 1120, 'NEDER-OVER-HEEMBEEK', 'B' from dual union
    select 60, 1130, 'BRUXELLES', 'B' from dual union
    select 61, 1140, 'BRUXELLES', 'B' from dual union
    select 63, 1140, 'EVERE', 'B' from dual union
    select 66, 1150, 'BRUXELLES', 'B' from dual union
    select 69, 1150, 'WOLUWE-SAINT-PIERRE', 'B' from dual union
    select 71, 1160, 'BRUXELLES', 'B' from dual union
    select 75, 1170, 'BRUXELLES', 'B' from dual union
    select 76, 1170, 'WATERMAEL-BOITSFORT', 'B' from dual union
    select 77, 1180, 'BRUXELLES', 'B' from dual union
    select 82, 1190, 'BRUXELLES', 'B' from dual union
    select 85, 1200, 'BRUXELLES', 'B' from dual union
    select 87, 1210, 'BRUXELLES', 'B'from dual
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  4. #4
    Membre actif
    Inscrit en
    juin 2006
    Messages
    642
    Détails du profil
    Informations forums :
    Inscription : juin 2006
    Messages : 642
    Points : 191
    Points
    191

    Par défaut

    Bonjour merci de ton aide islamov2000 j'ai essayé ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    INSERT INTO tbl_code_postal (ID_CODE_POSTAL,CODE,LOCALITE,PAYS) 
    SELECT 9, 1020, 'BRUXELLES', 'B' FROM dual union
    SELECT 10, 1020, 'BRUSSEL', 'B' FROM dual union
    SELECT 12, 1020, 'LAEKEN', 'B' FROM dual union
    SELECT 14, 1030, 'BRUXELLES', 'B' FROM dual union
    SELECT 18, 1040, 'BRUXELLES', 'B' FROM dual union
    SELECT 19, 1040, 'ETTERBEEK', 'B' FROM dual union
    SELECT 31, 1050, 'BRUXELLES', 'B' FROM dual union ;
    Mais j'ai un message d'erreur:ORA-00928: mot-clé SELECT absent

    Ai je oublié quelque chose ??

    Merci

  5. #5
    Membre Expert
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    septembre 2007
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2007
    Messages : 744
    Points : 1 369
    Points
    1 369

    Par défaut

    Tu dois enlever le dernier union, c'est un plus.
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  6. #6
    Membre actif
    Inscrit en
    juin 2006
    Messages
    642
    Détails du profil
    Informations forums :
    Inscription : juin 2006
    Messages : 642
    Points : 191
    Points
    191

    Par défaut

    Désolé j avais fait un copié coller en vitesse.

    Dans ma requête j'ai retiré le dernier union ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    INSERT INTO tbl_code_postal SELECT ID_CODE_POSTAL,CODE,LOCALITE,PAYS) 
    SELECT 9, 1020, 'BRUXELLES', 'B' FROM dual union
    SELECT 10, 1020, 'BRUSSEL', 'B' FROM dual union
    SELECT 12, 1020, 'LAEKEN', 'B'
    J'ai toujours l'erreur: ORA-00923: mot-clé FROM absent à l'emplacement prévu

  7. #7
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet
    Inscrit en
    juin 2007
    Messages
    1 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Bâtiment

    Informations forums :
    Inscription : juin 2007
    Messages : 1 245
    Points : 2 025
    Points
    2 025

    Par défaut

    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
    /* Formatted on 28/11/2012 12:45:12 (QP5 v5.227.12220.39724) */
    INSERT INTO tbl_code_postal (ID_CODE_POSTAL,
                                 CODE,
                                 LOCALITE,
                                 PAYS)
       SELECT *
         FROM (SELECT 9,
                      1020,
                      'BRUXELLES',
                      'B'
                 FROM DUAL
               UNION
               SELECT 10,
                      1020,
                      'BRUSSEL',
                      'B'
                 FROM DUAL
               UNION
               SELECT 12,
                      1020,
                      'LAEKEN',
                      'B'
                 FROM DUAL
               UNION
               SELECT 14,
                      1030,
                      'BRUXELLES',
                      'B'
                 FROM DUAL
               UNION
               SELECT 18,
                      1040,
                      'BRUXELLES',
                      'B'
                 FROM DUAL
               UNION
               SELECT 19,
                      1040,
                      'ETTERBEEK',
                      'B'
                 FROM DUAL
               UNION
               SELECT 31,
                      1050,
                      'BRUXELLES',
                      'B'
                 FROM DUAL)
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 10.2.0.4 (RAC) - Forms6i patch 17 - Toad 12 - sharePoint 2010

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur d'études en décisionnel
    Inscrit en
    septembre 2008
    Messages
    7 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en décisionnel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 7 207
    Points : 15 116
    Points
    15 116

    Par défaut

    Citation Envoyé par jacko842 Voir le message
    J'ai toujours l'erreur: ORA-00923: mot-clé FROM absent à l'emplacement prévu
    Oui mais là il manque un from dual, comme indiqué par le message d'erreur.
    Il faut aussi apprendre à lire ces derniers dans votre long apprentissage, ils ne sont pas là que pour vous embêter.

Discussions similaires

  1. Insertion de plusieurs lignes dans un tableau de cellules
    Par Marinedu26 dans le forum MATLAB
    Réponses: 1
    Dernier message: 23/12/2011, 12h32
  2. Insertion de plusieurs lignes dans une table
    Par BOUWAGGOU dans le forum PHP & MySQL
    Réponses: 7
    Dernier message: 04/05/2009, 16h55
  3. [WD9] Insertion de plusieur lignes dans une rubrique
    Par loic20h28 dans le forum WinDev
    Réponses: 39
    Dernier message: 06/06/2008, 19h02
  4. insertion automatique de plusieurs lignes dans mysql
    Par dejiein dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/06/2006, 10h41

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