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

Sql*Plus Oracle Discussion :

Problème d'affichage sous SQL*Plus


Sujet :

Sql*Plus Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut Problème d'affichage sous SQL*Plus
    Bonjour,


    J'ai le code PL/SQL suivant qui est exécuté mais j'ai le problème suivant en fait le programme me demande deux fois pour introduire la variable de substitution
    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
    variable vemp number;
    declare 
    Vsal EMP.SALAIRE % type;
    Vcom emp.comm % type;
    begin
    select salaire,comm into Vsal, Vcom
    from emp
    where emp.num=&vemp;
    if Vsal<1000 then
    Vcom:=Vsal*0.1;
    elsif Vsal<1500 then
    Vcom:=Vsal*0.15;
    else Vcom :=Vsal *0.2;
    end if;
    update emp set emp.COMM=Vcom
    where emp.num=&vemp;
    end;

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 110
    Points : 28 438
    Points
    28 438
    Par défaut
    Si je me souviens bien, pour les appels suivant le premier, il faut doubler l’esperluette devant le nom de variable.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    j'ai pas compris c'est quoi l’esperluette devant le nom de variable s'il vous plait?

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 110
    Points : 28 438
    Points
    28 438
    Par défaut
    Le caractère &...
    Modification à faire à la ligne 16

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    bonsoir,

    déjà dans la ligne 16 le caractère & existe devant la variable vemp

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 110
    Points : 28 438
    Points
    28 438
    Par défaut
    Eh bien, il faut en mettre un deuxième

    Pour en savoir plus : SQL*Plus® User's Guide and Reference - Contents - Oracle Help Center

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    Sil vous plait est ce que vous avez compris mon problème. en fait le code est juste et la modification s'effectue au sein de la table sauf que l'introduction de la variable de substitution qui porte dans mon cas le nom de vemp est demandé deux fois ceci est le problème est ce que ceci est normal?

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 110
    Points : 28 438
    Points
    28 438
    Par défaut
    Je pense avoir compris le problème en effet;
    Qu'a donné l'exécution du script en écrivant where emp.num=&&vemp; à la ligne 16 ?

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    par contre si je fais ce changement je déclare une variable x de type number et cette variable contient la variable vemp dans ce cas l'interface pour introduire la variable vemp n'est plus affiché.

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    oui j'ai changé la clause where comme vous avez indiquez mais dans ce cas l'interface pour introduire la variable de substitution est affiché 3 fois dans ce cas.

  11. #11
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    peut etre j'ai compris le problème en fait à chaque fois que la variable est écrit dans le programme à l'aide de &vemp alors oracle demande à l'utilisateur d'introduire sa valeur donc je pense que c'est logique n'est ce pas ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2014, 17h00
  2. Réponses: 4
    Dernier message: 17/07/2009, 17h25
  3. probléme d'identification sous sql*plus
    Par michouhayoo dans le forum Débuter
    Réponses: 1
    Dernier message: 25/03/2008, 14h27
  4. Pb pour executer une procédure sous SQL PLUS
    Par rabddoul dans le forum Oracle
    Réponses: 4
    Dernier message: 21/10/2005, 15h40
  5. Réponses: 2
    Dernier message: 01/06/2004, 15h08

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