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 :

Requête d'extraction des données d'une table


Sujet :

Oracle

  1. #1
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 504
    Points
    504
    Par défaut Requête d'extraction des données d'une table
    Bonjour,

    J'utilise Oracle en version 9.2 et j'aurais aimé savoir s'il existait une requête Oracle permettant d'obtenir une sortie de ce genre pour les données de ma table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO TABLE (field1,field2,field3) VALUES (V1,V2,V3);
    INSERT INTO TABLE (field1,field2,field3) VALUES (V4,V5,V6);
    ... etc...
    En gros j'aimerais récupérer via une requête oracle le script d'insertion des données d'une table donnée.

    Quelqu'un sait-il si cela est possible ? Et si oui, quelle requête faut il exécuter ?

    Merci d'avance.

  2. #2
    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
    Salut. J'imagine que tu veux une solution générique ? Sinon un bête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 'INSERT INTO MATABLE(CHAMP1,..., CHAMPN) VALUES('||CHAMP1||', '||...||', '||CHAMPN||')' FROM MATABLE
    te suffirait.

    Un code PL/SQL qui prendrait en paramètre le nom de la table ça correspondrait à tes attentes ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 504
    Points
    504
    Par défaut
    Citation Envoyé par nuke_y Voir le message
    Salut. J'imagine que tu veux une solution générique ? Sinon un bête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 'INSERT INTO MATABLE(CHAMP1,..., CHAMPN) VALUES('||CHAMP1||', '||...||', '||CHAMPN||')' FROM MATABLE
    te suffirait.

    Un code PL/SQL qui prendrait en paramètre le nom de la table ça correspondrait à tes attentes ?
    Je cherche à faire quelque chose de plus générique effectivement.
    J'avais pas pensé à faire une fonction PL/SQL pour répondre à ce problème mais je crois que c'est une bonne idée.

    Je vais regarder de ce côté là même si ça fait longtemps que j'ai plus pratiqué ... lol

  4. #4
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 504
    Points
    504
    Par défaut
    En cherchant sur les sources PL/SQL sur le site, j'ai trouvé un code faisant ce que je veux : http://oracle.developpez.com/sources...traction_table

    J'ai donc bien crée la procédure dans Oracle.

    Pour exécuter cette procédure, j'ai utilisé la commande suivante (réalisée dans un client SQL connecté via JDBC et qui s'appelle SQL SQuirrel) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    call {call EXTRACTION_TABLE('table1','test.sql','C:/')}

    Le retour Oracle est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Error: ORA-06575: Package or function EXTRACTION_TABLE is in an invalid state
    SQLState:  65000
    ErrorCode: 6575

    J'ai cherché dans les erreurs Oracle et cela pourrait venir d'un manque de droit notamment mais l'utilisateur que j'utilise a bien les droits justement.

    Quelqu'un aurait une idée de la raison du problème ?

  5. #5
    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
    Tu as du avoir des erreurs à la compilation. Quelle version d'oracle ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Fondateur
    Inscrit en
    Octobre 2002
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Fondateur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 445
    Points : 504
    Points
    504
    Par défaut
    Citation Envoyé par nuke_y Voir le message
    Tu as du avoir des erreurs à la compilation. Quelle version d'oracle ?
    J'ai la version 10.2 d'Oracle effectivement et apparemment le code est fait pour la version 9i.

    J'espérais une compatibilité ascendante mais on dirait pas .

    Le truc bizarre c'est que lorsque je crée la procédure il n'y a aucune erreur et la procédure est bien créée.

    Y a t il un moyen de débugguer la procédure ou d'avoir plus de détails sur la raison de l'erreur lors de l'exécution ?

Discussions similaires

  1. [MySQL] Requête des données d'une table depuis un formulaire
    Par hnicola dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/09/2009, 23h26
  2. [Requête/SQL]Importer des données d'une table à l'autre
    Par atlantideD dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/04/2007, 10h46
  3. extraction des données dans une table Access
    Par moabomotal dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 11h17
  4. concatenation des données d'une table dans une autre
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/10/2004, 11h38
  5. Copie des données d'une table d'une base Interbase 6
    Par Djedjeridoo dans le forum InterBase
    Réponses: 6
    Dernier message: 02/02/2004, 09h39

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