Insertion donner sous oracle

Résolu
haroun- Messages postés 762 Statut Membre -  
 fiu -
Bonjour,
j'ai voulu insérer deux ligne dans un tableau nomé livre que je vient de crée
pour insérer une seul ligne j'avais a taper la commande
INSERT INTO livre (code_livre,titre,themes,date_edit,nb_pages)
VALUES (60,'introduction to database deseign','base de donnée',to_date('2001/10/23','YYYY/MM/DD'),300) ;


comment je peux faire pour pouvoir insérer plusieurs ligne a la foi c'est a dire en exécutant une seul commande sql
j'ai penser que mettre par exemple
INSERT INTO livre (code_livre,titre,themes,date_edit,nb_pages)
VALUES (60,'introduction to database deseign','base de donnée',to_date('2001/10/23','YYYY/MM/DD'),300) ;
INSERT INTO livre (code_livre,titre,themes,date_edit,nb_pages)(30,'Programmation OO','base de donnée',to_date('2001/01/14','YYYY/MM/DD'),250);


puit lancer l'exécusion va faire l'affaire mais ca ne marche pas
es ce que quelqu'un pourrais me donner une solution svp
merci
Configuration: Windows XP
Firefox 3.0.15

5 réponses

  1. haroun- Messages postés 762 Statut Membre 3
     
    il ny a pas un moyen de fusionner ces deux commonde insert en une seul commande peut etre
    es ce que quelqu'un peux me proposer une solution
    0
  2. fiu
     
    et non ! c'est un insert à la fois.

    note que tu peux insérer plusieurs lignes en provenance d'autres tables:
    insert into tabledest(col1{, coln}) select expr1{, exprn} from tablesrc1{, tablesrcn} where ...
    seul impératif : l'ordre des colonnes renvoyées par le select doit correspondre à l'ordre des colonnes à alimenter
    0
    1. haroun- Messages postés 762 Statut Membre 3
       
      salut
      peux tu me donner un exemple reel svp et pas la commande en mode général
      je suis encore débutant dans le domaine
      insert into tabledest(col1{, coln}) select expr1{, exprn} from tablesrc1{, tablesrcn} where ..

      cette commande me semble un peux compliquer si tu pouvais m'expliquer les options secondaires de cette commande svp
      merci
      0
    2. fiu
       
      Salut
      Les accolades { et } ne délimitent pas des "options secondaires" mais seulement des blocs éventuellement répétés:
      col{, coln} représente
      col
      ou
      col, col1
      ou
      matricule, nom, prenom, date_embauche, situation_familiale, date_naissance
      etc
      0
  3. jee pee Messages postés 9442 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     
    Salut,

    Il est tout à fait possible, dans un fichier .sql de placer plusieurs insert à la suite, comme tu l'as fait dans ton 2ème exemple.

    Quel est le message d'erreur ? N'est-ce pas juste que tu as oublié 'VALUES' dans le second insert.

    cdlt
    0
    1. haroun- Messages postés 762 Statut Membre 3
       
      si ...
      j'ai mais les deux commandes tel qu'elle sont supposait etre mis
      mais on m'affiche le message d'erreur : caractère non valide
      voila ce que j'ai mis exctement :

      INSERT INTO livre (code_livre,titre,themes,date_edit,nb_pages) 
      VALUES ('60','deseign','base donne',to_date('2001/10/23','YYYY/MM/DD'),'300');
      INSERT INTO livre (code_livre,titre,themes,date_edit,nb_pages) 
      VALUES ('70','programation OO','programation',to_date('2001/10/23','YYYY/MM/DD'),'200');
      0
  4. jee pee Messages postés 9442 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     
    Essaye les 2 lignes une par une pour voir laquelle n'est pas bonne.

    Quelle est la description complète de ta table pour la nature des champs

    Quelle est l'erreur oracle ORA-xxxx

    Dans ton .sql le champ date n'est pas vraiment sur 2 lignes, c'est juste tronqué ici ? par ce que
    ('2001/10/23','YYYY
    /MM/DD'),'300');
    ainsi séparé en 2 ne fonctionnerait pas

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fiu
     
    Salut

    pour completer la soluce à jee pee:

    alter session set nls_date_format='YYYY/MM/DD';
    INSERT INTO livre (code_livre,titre, themes, date_edit, nb_pages)
    VALUES ('60', 'deseign', 'base donne', '2001/10/23', '300');
    INSERT INTO livre (code_livre,titre, themes, date_edit, nb_pages)
    VALUES ('70', 'programation OO', 'programation', '2001/10/23', '200')­;

    et si nb_pages est numbre, enlever les apostrophes qui encadrent 300 & 200.
    0