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 :

Procédure stockée


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Par défaut Procédure stockée
    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
    CREATE OR REPLACE PROCEDURE commande(refArt varchar )
    IS
     QteMax integer ;
     QteACom integer;
     four varchar;
    BEGIN 
    		QteMAx:=SELECT qteMax from article WHERE CODEART='refArt';
    		QteACom:=SELECT qte from article WHERE CODEART='refArt';
    		four:= SELECT nomfour from article,fournisseur where fournisseur.numfour=article.numfour 
    		AND article.codeart='refArt';
     
    		QteACom:=QteMax-QteACom;
    		dbms_output.put_line( 'Veuillez commander ' || QteACom ||' cher ' || four || ' --> ' || refArt) ;
    END;
    /

    Bonjour,

    J'aimerais pouvoir compiler cette procédure qui affiche simplement la quantité à commander pour un article .
    Un nom de fournisseur est également renseigné ( un article = un fournisseur )

    Apparemment les requêtes posent problème ...

    Je suis sous oracle 10g express edition .


    Merci a vous ,

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    la doc oracle est assez bien foutue pour ce genre de demande : http://docs.oracle.com/cd/B19306_01/...ndamentals.htm

    Sinon il faudrait revoir vos requêtes, vous en faites 3 alors qu'une seule suffirait.

    J'ai pas testé, il y aura peut être une erreur de syntaxe, je vous laisse chercher le cas échéant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE OR REPLACE PROCEDURE commande(refArt varchar )
    IS
     v_QteACom integer;
     v_four varchar;
    BEGIN 
    		SELECT qteMax - qte as qte, nomfour into v_QteACom, v_four
    		FROM article a
    		inner join fournisseur f on a.numfour = b.numfour
    		WHERE CODEART= refArt;
     
    		dbms_output.put_line( 'Veuillez commander ' || QteACom ||' cher ' || four || ' --> ' || refArt) ;
    END;
    /

    Ah et les jointures s'écrivent de cette manière depuis plus de 20 ans :
    http://sqlpro.developpez.com/cours/sqlaz/jointures/

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 14
    Par défaut
    Impec ! ça fonctionne !


    J'ai juste précisé la taille des deux variables et ça passe .

    Pour les jointures je pensais que ça se faisait comme en théorie ( je les ai vues écrites de cette façon en cours )


    Merci beaucoup a toi

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    Par défaut
    Citation Envoyé par Hypnoze Voir le message
    Pour les jointures je pensais que ça se faisait comme en théorie ( je les ai vues écrites de cette façon en cours )
    C'est juste que tes cours sont en retard de 20 ans sur la norme...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

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

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  2. Procédure stocké:Insert et renvoie de la clé primair
    Par caramel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/04/2003, 09h34
  3. [Pervasive SQL ] procédure stockée
    Par magellan dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 25/10/2002, 13h17
  4. Explication procédure stockée
    Par underworld dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2002, 10h51
  5. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27

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