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écution requête PL/SQL


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut Exécution requête PL/SQL
    bjr j'ai une colonne ''requete" pour chaque ligne de cette colonne j'ai ecrit une requete
    exple:
    code||reqeute
    001 select * from utilisateur
    comment je peux executer cette requete
    merci

  2. #2
    Membre émérite 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 : 55
    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
    Par défaut
    Je dirais qu'en faisant un bloc PL/SQL où tu alimente un curseur qui pour chaque row retournée va lancer un "execute immediate" cela devrait faire l'affaire...

    Un truc du style suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    declare
      monsql varchar2(2000);
      cursor c1 is select sql from matablesql;
    begin
      open c1;
      loop
        fetch c1 into monsql;
        fetch when c1%notfound;
        execute immediate monsql;
      end loop;
      close c1;
    end;

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Oui, mais que ramènera le EXECUTE IMMEDIATE avec un "select * from emp" ?
    comment récupérer les lignes ? Il faudra faire un into -> Collection
    Compliqué...

  4. #4
    Membre émérite 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 : 55
    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
    Par défaut
    Effectivement, reste le problème de la récupération des lignes...

    Dans ce cas pourquoi ne pas passer par un truc tout bête :
    1. Je lance un premier SQL sur ma table contenant les SQL à passer qui spoole sur un fichier temporaire (monfichier.sql) nommé avec ni en-tête de colonnes, gros linesize & gros pagesize.
    2. Je lance @monfichier.sql et j'ai le résultat de toutes mes requêtes à l'écran.

  5. #5
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    L'article suivant, notamment dans la 2ème partie (SQL) présente un package capable de gérer n'importe quel ordre SQL, et remplit 2 collections : la première contenant les colonnes de la requête, la deuxième contenant les données.

  6. #6
    Membre émérite 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 : 55
    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
    Par défaut
    En fait, on tourne autour sans savoir le besoin réel...

    malkovich85 : Peux-tu expliquer le contexte et le but s.v.p car j'ai un peu de mal à comprendre où est l'intêret de ta mécanique.

  7. #7
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut
    bonjour, je travaille sur un projet qui imprime des courriers.
    lorsque les courriers ne seront pas imprimés, je dois generer un fichier qui decrit la cause de la panne
    par exemple: l'imprimante nom_imprimante est deconnectée.
    le nom d'imprimante est dans la requete que je dois executer
    j'ai une table panne (code_panne, resumé,cause)
    dans la colonne cause je saisie l'imprimante %s% est deconnectée
    je dois remplacer cette variable par le nom de l'imprimante

Discussions similaires

  1. Temps d'exécution requête Oracle sql trop Longue
    Par fatfat45 dans le forum Oracle
    Réponses: 1
    Dernier message: 10/07/2012, 19h26
  2. Exécuter requête sur SQL Server 2000
    Par zoubli dans le forum VBScript
    Réponses: 4
    Dernier message: 01/03/2007, 08h59
  3. [MySQL] Simuler l'exécution d'une requête (my)sql
    Par slimane.3 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 24/05/2006, 21h16
  4. Exécution requête SQL + easyphp1.8
    Par Chengj dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/05/2006, 16h39
  5. Réponses: 2
    Dernier message: 04/04/2006, 11h46

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