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 :

Func parametrée Func


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Par défaut Func parametrée Func
    Hello Guys ,
    J'ai un petit exo ou j'ai un petit soucis : programme PLSQL qui permet d’afficher un
    message précis suivant le choix de filière effectué via le clavier.
    Ainsi, si le choix saisi au clavier correspond à la lettre L, afficher :
    Vous avez opté pour la filière logistique!
    Si le choix correspond à la lettre M, afficher :
    Vous avez opté pour la filière marketing !
    Pour toute autre lettre saisie au clavier, afficher :
    Désolé ! Aucune formation proposée pour la filière spécifiée.
    Ce que j'ai fait

    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
    18
    19
    20
    21
    22
    Truncate table resultat;
    Accept nom prompt 'donnez le choix de votre filiere ';
    Declare
    V_mark varchar2(40):='M';
    V_Log varchar2(40):='L';
    Begin
    If &nom='M'
    	then		
    		insert into resultat 
    		values('&nom','est dans la filiere Marketing');
    elsif '&nom'='V_Log'
    	then		
    		insert into resultat 
    		values('&nom','est dans la filiere Logistique');
     
    	Else	
    		insert into resultat 
    		values('&nom','Désolé ! Aucune formation proposée pour la filière spécifiée.');	
    	end if;
    End;
    /
    Select * from resultat;

  2. #2
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Et quel est le problème que tu constates?

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Sans vous donnez la solution toute faite, voici quelques conseils.
    1. Utilisez set serveroutput on; avant votre bloc PL/SQL et la fonction put_line du package dbms_output pour afficher une sortie texte.
      Vous n'avez pas besoin d'écrire dans une table et de la lire, à moins que ça fasse parti de l'énoncé de votre exercice.
    2. Assignez le retour du prompt à une variable PL/SQL, et ensuite n'utilisez que cette variable.
    3. Vous pouvez changer vos déclarations de constantes de V_mark varchar2(40):='M'; vers v_mark constant varchar2(1) := 'M';Pas besoin de prévoir 40 caractères pour une valeur qui n'en prendra qu'un seul. Notez que ça ne change rien en terme de performance, c'est simplement pour rester logique.
    4. Utilisez bien ces deux constantes là où c'est justifié.
      Elles contiennent déjà du texte, vous n'avez pas besoin de chercher à les reconvertir.

  4. #4
    Membre très actif
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 222
    Par défaut
    Bonjour ,
    C'est ce message que j'ai :

    Nom : Capture__OR.PNG
Affichages : 218
Taille : 26,2 Ko

  5. #5
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    J'ai l'impression que tu n'utilises pas correctement les variables de substitution.

    Ton code ne devrait pas être, une fois la substitution faite
    au lieu de
    ?

Discussions similaires

  1. exp/imp DDL(TRIGGER,PROC,Func) via fichier plat
    Par Bat91 dans le forum Import/Export
    Réponses: 11
    Dernier message: 26/08/2010, 08h52
  2. Bind('<Bouton>', func) ne marche pas !
    Par Luke spywoker dans le forum Tkinter
    Réponses: 0
    Dernier message: 29/07/2010, 19h15
  3. Nom de la proc (ou func) courante
    Par peter27x dans le forum Débuter
    Réponses: 15
    Dernier message: 21/11/2009, 15h09
  4. Créer un object Func de façon dynamique
    Par Krustig dans le forum Windows Forms
    Réponses: 8
    Dernier message: 21/08/2009, 11h32
  5. int func (void)
    Par Gruik dans le forum C
    Réponses: 9
    Dernier message: 13/11/2006, 13h44

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