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 :

Oracle Stored Procedure


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2018
    Messages : 150
    Points : 63
    Points
    63
    Par défaut Oracle Stored Procedure
    Bonjour à partir de cette requete je souhaite crée une procédure stockée dans Oracle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select LISTAGG(lot_id,'-') within group(order by lot_id) "LOTS",
    min(ven_bl) "BL"
    from
    (
    select distinct z_tracabilite_export_crets.lot_id,z_tracabilite_export_crets.ven_bl
    from z_tracabilite_export_crets where z_tracabilite_export_crets.comp_ach_lotseq in
    (
    select distinct z_tracabilite_export_crets.comp_ach_lotseq
    from z_tracabilite_export_crets
    where ven_bl = Param_NumBl -- nom du paramètre qui serait passé dans la procédure stockée.
    )
    );
    Je suis plus a l'aise avec les procédure stockée SQL...
    Merci de votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2018
    Messages : 150
    Points : 63
    Points
    63
    Par défaut
    J'ai trouvé cette syntaxe SQL mais qui me renvois des erreurs :
    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
    CREATE OR REPLACE PROCEDURE SYNTH_LOTS_CHINE (NUMBL NUMBER)
    IS 
    LOTS VARCHAR(1000);
     
    BEGIN
     
    select LISTAGG(lot_id,'-') within group(order by lot_id) "LOTS",
    min(ven_bl) "BL" into LOTS
    from
    (
    select distinct z_tracabilite_export_crets.lot_id,z_tracabilite_export_crets.ven_bl
    from z_tracabilite_export_crets where ven_bl = NUMBL
    );
    commit;
     
    END;
    Nom : 1.png
Affichages : 67
Taille : 4,0 Ko

    Merci de votre aide

  3. #3
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    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 : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    A quoi sert le commit?
    Tu fais un SELECT de deux valeurs MAIS tu veux stocker le résultat dans une seule variable, de nom LOTS : l'erreur est là, il te faut 2 variables ou alors tu concatènes le résultat du SELECT dans LOTS.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Il faut voir aussi ce que doit faire la procédure : Faire un traitement, renvoyer des données, etc ..

    Si celui qui exécute la procédure doit récupérer les données, alors il faut créer des paramètres OUT , sinon si une seule valeur est retournée, faire une fonction.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

Discussions similaires

  1. asp.net oracle store procedure
    Par lazins dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/09/2009, 15h34
  2. Utiliser Enterprise Library avec Oracle Stored Procedure
    Par Cervantes dans le forum Accès aux données
    Réponses: 1
    Dernier message: 27/10/2008, 11h39
  3. [Oracle] Stored Procedures Variable
    Par elnfrancois dans le forum SQL
    Réponses: 2
    Dernier message: 11/09/2007, 16h34
  4. Apropos des Transactions au sein d'un Stored Procedure
    Par Sarbacane dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 16/11/2004, 08h21
  5. [Stored Procedure]Only constants, expressions, or variables
    Par nmerydem dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 20/10/2004, 18h29

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