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 :

Problème avec un CASE.


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Par défaut Problème avec un CASE.
    Boujours a tous,

    J'ai un souci avec un petit script, j'aimerais avec un CASE pouvoir fair appel à plusieurs scripts suivant plusieurs choix.

    exemple : je tape "1" le script 1 se lance
    "2" " " 2 " " etc.....

    seulement aucun script ne lance pourtant j'appelle bien : @monscript.sql

    Par avance Merci.

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut Re: Problème avec un CASE.
    Citation Envoyé par Picco
    Boujours a tous,

    J'ai un souci avec un petit script, j'aimerais avec un CASE pouvoir fair appel à plusieurs scripts suivant plusieurs choix.

    exemple : je tape "1" le script 1 se lance
    "2" " " 2 " " etc.....

    seulement aucun script ne lance pourtant j'appelle bien : @monscript.sql

    Par avance Merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SQL> @script&n
    Enter value for n: 1                                                                 
    ... running "script1.sql"
    SQL> @script&n
    Enter value for n: 2                                                                 
    ... running "script2.sql"

  3. #3
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Par défaut
    Merci pour la réponse c'est très instructif..

    En fait j'en suis là :

    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
    accept reponse prompt 'Selectionnez une Action (R)echercher (A)jouter (M)odifier (S)upprimer : ';
     
    DECLARE
    &reponse varchar2(1);
     
    begin
    WHILE ('&reponse' <> 'R' AND '&reponse' <> 'A' AND '&reponse' <> 'M' AND '&reponse' <> 'S') 
    LOOP
    case 
    	when '&reponse'='R' then  @R.sql;
    	when '&reponse'='A' then  @A.sql;
    	when '&reponse'='M' then  @M.sql;
    	when '&reponse'='S' then  @S.sql;
    end case;
    end LOOP;
    end;
    /
    Mes scripts ne se lance pas !!!

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    J'avais essayé de faire quelque chose de similaire mais je n'y suis pas arrivé car je ne crois pas qu'on peut mélanger du PL/SQL pur qui s'exécute côté serveur et des instructions ACCEPT qui sont en fait des commandes sqlplus qui s'exécutent côté client.

    Finalement, j'ai écrit un script Unix qui appelle les différents scripts SQL avec sqlplus.

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Par défaut
    En fait lorsque j'execute ce script ma variable est bien reçu et je peut la manipuler dans mon bloc PL/SQL.

    C'est l'appel au script qui me pose un problème.

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    plsql n'est pas interactif et ne permets pas d'employer des scripts.

    Par contre je pourrais imaginer:

    loop.sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    accept reponse default 'quit' prompt 'Selectionnez une Action (R)echercher (A)jouter (M)odifier (S)upprimer : '; 
    @&reponse
    @loop
    quit.sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    prompt C'EST FINI
    quit

  7. #7
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Par défaut
    Merci c'est ce que je recherchais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec un case!
    Par Jérémy Lefevre dans le forum C++
    Réponses: 2
    Dernier message: 17/01/2007, 12h47
  2. Problèmes avec des cases à cocher et une liste déroulante
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 10h52
  3. Problème avec les cases à cocher
    Par psycopat dans le forum Access
    Réponses: 8
    Dernier message: 20/10/2005, 14h25
  4. Problème avec les cases d'un groupe d'option.
    Par auriolbeach dans le forum Access
    Réponses: 2
    Dernier message: 01/10/2005, 07h33
  5. [Tableaux] Problème avec Switch case
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 16h37

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