Insertion donner sous oracle

Résolu
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. 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
    1. 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. 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. 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
    2. Modérateur
      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. 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
    3. Modérateur
      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
      1. 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