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

Oracle Discussion :

[Debutant]Inserer plusieurs enregistrement dans un fichier SQL


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 39
    Points
    39
    Par défaut [Debutant]Inserer plusieurs enregistrement dans un fichier SQL
    Bonjour,

    Me voilà de retour sur Developpez dans la section Oracle, pour mes éternelles questions de débutants... Et pourtant je vous jure que j'ai cherché sur le Net la réponse , mais pas le temps malheureusement d'appliquer tous ce que j'ai trouvé...

    Mon cas de figure est simple en fait, il 's'agit d'inserer plusieurs enregistrements dans une base de données ORACLE 8i . Pour l'histoire je pars d'un fichier excel que je retravaille un peu en PHP et j'obtiens à la sortie un fichier .SQL ayant pour forme par exemple :

    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
     
    INSERT INTO KANONCE VALUES ('PU',
    '410254545',
    1002,
    TO_DATE('2006-01-01','YYYY-MM-DD'),
    );
    INSERT INTO KANONCE VALUES ('PU',
    '410254545',
    1002,
    TO_DATE('2006-01-01','YYYY-MM-DD'),
    );
    INSERT INTO KANONCE VALUES ('PU',
    '410254545',
    1002,
    TO_DATE('2006-01-01','YYYY-MM-DD'),
    );
    ...
    etc...
    D'où ma question , comment formaté le fichier SQL pour que les insertions se fassent ?
    Où dois je mettre le COMMIT ?
    Dois je séparerer chaque instructions INSERT par un " ; " ou par un " / " ?

    Bref, question probablement posée 15 000 fois, mais que me fait défaut.

    Merci d'avance pour vos réponses

    Cordialement.
    Jérémy

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    ce fichier semble très bien comme ça, le ; est bien en fin de chaque INSERT donc pas de problème. Le COMMIT peut être fait quand tu veux. Si il y a vraiment beaucoup d'insertion prévoit des commits intermédiaires

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par Fred_D
    ce fichier semble très bien comme ça, le ; est bien en fin de chaque INSERT donc pas de problème. Le COMMIT peut être fait quand tu veux. Si il y a vraiment beaucoup d'insertion prévoit des commits intermédiaires
    Bonjour et merci pour ta réponse Fred_D...

    Malheureusement, en executant un fichier .sql sous sql+ ayant pour code :
    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
     
    INSERT INTO KANONCE VALUES ('PU',
    '410254545',
    1002,
    TO_DATE('2006-01-01','YYYY-MM-DD'),
    TO_DATE('2006-01-02','YYYY-MM-DD'),TO_DATE('2006-01-03','YYYY-MM-DD'),
    22.87);
    INSERT INTO KANONCE VALUES ('PU',
    '410254545',
    1002,
    TO_DATE('2006-01-01','YYYY-MM-DD'),
    TO_DATE('2006-01-02','YYYY-MM-DD'),TO_DATE('2006-01-03','YYYY-MM-DD'),
    22.87);
    INSERT INTO KANONCE VALUES ('PU',
    '410254545',
    1002,
    TO_DATE('2006-01-01','YYYY-MM-DD'),
    TO_DATE('2006-01-02','YYYY-MM-DD'),TO_DATE('2006-01-03','YYYY-MM-DD'),
    22.87);
    J'obtiens un message d'erreur
    ERROR à la ligne 1 :
    ORA-00911: Caractère non valide
    Que ne fais je pas correctement ?

    Merci pour vos réponses ...

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    fait un copier/coller de toute l'erreur... tu as un * sous le caractère en question normalement

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par Fred_D
    fait un copier/coller de toute l'erreur... tu as un * sous le caractère en question normalement
    Ok, milles excuses, en fait en lancant le code que je copiais dans le buffer, directement à l'aide de la commande "start c:/..../monfichier.sql" , il semble que cela fonctionne...

    Merci encore pour tes réponses patientes.

    Hop , un de plus résolut ...

    Cordialement
    Jérémy

  6. #6
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    SQL> create table test(CD VARCHAR2(10), ID NUMBER, VALUE NUMBER, DATE1 DATE,
    DATE2 DATE, DATE3 DATE, VALUE2 NUMBER(8,2));

    Table crÚÚe.

    SQL> INSERT INTO TEST VALUES ('PU',
    2 '410254545',
    3 1002,
    4 TO_DATE('2006-01-01','YYYY-MM-DD'),
    5 TO_DATE('2006-01-02','YYYY-MM-DD'),TO_DATE('2006-01-03','YYYY-MM-DD'),
    6 22.87);

    1 ligne crÚÚe.
    Chez moi ça marche... quel outil utilises tu ? Une insertion de masse comme celle-là, avec des ";" à la fin des lignes ne passe pas sous TOAD.
    The following error has occurred:

    ORA-00911: invalid character
    EDIT :
    ok

Discussions similaires

  1. Plusieurs enregistrements dans un fichier XML
    Par azewxc dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 09/08/2013, 10h25
  2. Réponses: 2
    Dernier message: 01/05/2013, 22h40
  3. [Débutant] Enregistrer le contenu de plusieurs Edit dans un fichier .txt
    Par coxycross dans le forum C++Builder
    Réponses: 12
    Dernier message: 29/06/2012, 10h28
  4. [MySQL] Inserer plusieurs valeurs dans meme champs SQL
    Par chris52 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 19/04/2012, 16h56
  5. SQL / Inserer plusieurs champs dans une Colonne(ATTRIBUT)
    Par cedill23 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 08/07/2009, 11h03

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