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

Développement SQL Server Discussion :

Procédure stockée avec paramètre OUTPUT


Sujet :

Développement SQL Server

Vue hybride

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2018
    Messages : 150
    Par défaut Procédure stockée avec paramètre OUTPUT
    Bonjour voici un eprocé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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    USE [UTILITAIRES]
    GO
    /****** Object:  StoredProcedure [dbo].[CONVERT_PDS_PIECE_ART_TOSTRING]    Script Date: 08/10/2020 12:57:23 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<Author,,Name>
    -- Create date: <Create Date,,>
    -- Description:	<Description,,>
    -- =============================================
    ALTER PROCEDURE [dbo].[CONVERT_PDS_PIECE_ART_TOSTRING] 
    	-- Add the parameters for the stored procedure here
    @ARTCODE VARCHAR(15),
    @OUTPUTVAL VARCHAR(5) OUTPUT
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
        -- Insert statements for procedure here
    	DECLARE @ENTIER INT,
    @DECIMAL INT,
    @ROUND VARCHAR(2),
    @PIECE_KILO VARCHAR(1),
    @DECIMAL_TO_LETTER VARCHAR(1);
     
    SET @ENTIER = (SELECT(CONVERT(INT, SUBSTRING(CONVERT(VARCHAR,ART_PDS_NET), 0, CHARINDEX('.',CONVERT(VARCHAR,ART_PDS_NET)))))
    FROM ERP_CRETS..AG1.GCARTICLE
    WHERE ART_CODE = @ARTCODE);
     
    SET @DECIMAL = (SELECT CHARINDEX('.',ART_PDS_NET)
    FROM ERP_CRETS..AG1.GCARTICLE
    WHERE ART_CODE = @ARTCODE) +1 ;
     
    SET @ROUND = (SELECT RIGHT(SUBSTRING(CONVERT(VARCHAR,ART_PDS_NET),@DECIMAL,1),1)
    FROM ERP_CRETS..AG1.GCARTICLE
    WHERE ART_CODE = @ARTCODE);
     
    SET @PIECE_KILO = (SELECT CASE
    WHEN ART_UNIT_CDE = 'P' THEN 'P'
    ELSE 'K' END AS PK
    FROM ERP_CRETS..AG1.GCARTICLE
    WHERE ART_CODE = @ARTCODE);
     
    SET @DECIMAL_TO_LETTER = (SELECT LETTRE FROM CORRES_LETTRE_DECIMAL
    WHERE CHIFFRE = @ROUND);
     
    SET @OUTPUTVAL = 
    (SELECT CASE
    WHEN ART_UNIT_CDE = 'P' THEN CONCAT(@PIECE_KILO,ART_PIECE_COL)
    ELSE CONCAT(@PIECE_KILO,@ENTIER,@DECIMAL_TO_LETTER) END AS U
    FROM ERP_CRETS..AG1.GCARTICLE
    WHERE ART_CODE = @ARTCODE);
    SELECT @OUTPUTVAL;
     
    END
    que j'appelle ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DECLARE @T VARCHAR(5);
     
    EXEC CONVERT_PDS_PIECE_ART_TOSTRING @ARTCODE = 'A34805E1',@T OUTPUT;
    mais j'obtiens ce message d'erreur :

    Msg*119, Niveau*15, État*1, Ligne*3
    Les numéros du paramètre 2 et des paramètres qui suivent doivent être passés sous la forme '@name = valeur'. Dès que la forme '@name = valeur'
    a été utilisée, tous les paramètres suivants doivent être passés sous la forme '@name = valeur'.
    Je ne comprend pas trop...
    merci de votre aide

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DECLARE @OUTPUTVAL  VARCHAR(5);
     
    EXEC CONVERT_PDS_PIECE_ART_TOSTRING @ARTCODE = 'A34805E1', @OUTPUTVAL = ''  OUTPUT;
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2018
    Messages : 150
    Par défaut
    Bonjour et merci pour cette réponse rapide, mais j'ai toujours un soucis :

    Nom : Capture.PNG
Affichages : 590
Taille : 6,5 Ko

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour

    comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE @OUTPUTVAL  VARCHAR(5);
     
    EXEC CONVERT_PDS_PIECE_ART_TOSTRING @ARTCODE = 'A34805E1', @OUTPUTVAL = @OUTPUTVAL  OUTPUT;

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/05/2013, 14h29
  2. [Débutant] Appel d'une procédure stockée avec paramètre en output
    Par Malainet dans le forum Linq
    Réponses: 5
    Dernier message: 11/02/2013, 16h26
  3. Lancement d'une procédure stockée avec paramètres
    Par ptitenana_vtq dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 08/06/2010, 15h16
  4. SQL - Procédure stockée avec paramètres
    Par jacquesprogram dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/03/2009, 11h17
  5. [SQL2K5] Procédure stockée avec paramètre à valeurs multiple
    Par Jinroh77 dans le forum Développement
    Réponses: 1
    Dernier message: 16/05/2008, 17h31

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