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

PL/SQL Oracle Discussion :

Exécuter un script SQL depuis une procédure PL/SQL


Sujet :

PL/SQL Oracle

  1. #1
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut Exécuter un script SQL depuis une procédure PL/SQL
    Bonjour,

    J'ai pourtant cherché sur le web mais je ne trouve pas comment executer un fichier .sql depuis une procédure stockée.
    J'ai essayé start ou @fichier.sql mais ça ne marche pas (erreur de compilation).
    PLS-00103: Encountered the symbol "START" when expecting one of the following:
    begin case declare exit for goto if loop mod null pragma
    .
    .
    .

    Merci pour votre aide.
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

  2. #2
    Membre éclairé Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Points : 773
    Points
    773
    Par défaut
    Je croie que cela n'est pas possible...
    Philippe CEROU,

    Architecte Systèmes & Bases de données.

  3. #3
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut
    ah bon!!!
    Merci quand même.
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

  4. #4
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par rvfranck Voir le message
    ah bon!!!
    Merci quand même.
    transforme ton fichier .sql en procédure stockée ou fonction et fais en un appel quand tu veux.
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

  5. #5
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut
    C'est génial comme idée, mais c'est faisable automatiquement?

    En fait le fichier en question je le crée à partir du procedure P. Le fichier contient des requetes "insert": une centaine.
    Je voulais donc, après avoir généré le fichier, l'executer directement dans la même procedure P.
    En ce moment, je crée le fichier depuis la procedure P et je le charge dans sqldevelopper pour l'executer.

    Je me demandais si je pouvais le faire depuis ma procedure.
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

  6. #6
    Membre éclairé Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Points : 773
    Points
    773
    Par défaut
    Pourquoi dans ce cas tu ne fais pas tes insert directement dans ta procédure PL/SQL .

    Avec une petite gestion des commit & rollback cela doit le faire...
    Philippe CEROU,

    Architecte Systèmes & Bases de données.

  7. #7
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut
    Salut,

    Les "insert" je les fabrique dans la procédure en me basant sur deux autres tables et en faisant un tas de tests.
    Au final j'ai donc mon instruction insert dans une chaine (varchar2). Je ne savais pas comment l'executer directement alors j'ai décidé de la balancer dans un fichier que je chargerai après.
    Si tu sais comment je peux executer une instruction qui se trouve dans une variable se serait mieux: du genre j'ai une variable chaine de caractères
    requete := "insert into nomtable values(...);"
    Merci
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

  8. #8
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    EXECUTE IMMEDIATE sera ton ami alors.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  9. #9
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut
    Tu es génial McM, je teste ça dès que j'arrive à la maison.
    Merci.
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2010, 13h16
  2. Réponses: 1
    Dernier message: 15/09/2009, 11h45
  3. lancer une procédure PL/SQL depuis ODBC
    Par Cédric B. dans le forum PL/SQL
    Réponses: 1
    Dernier message: 28/04/2009, 08h16
  4. Réponses: 1
    Dernier message: 30/10/2008, 23h25
  5. Appel d'un script SQL dans une procdure stockée
    Par doudou10000 dans le forum Oracle
    Réponses: 10
    Dernier message: 01/12/2004, 11h01

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