Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre du Club
    Homme Profil pro Karim
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Nom : Homme Karim
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mai 2004
    Messages : 101
    Points : 42
    Points
    42

    Par défaut Procédure stocké qui ne renvoie pas la même valeur dans une requête

    Bonjour,

    J'ai une procédure qui "pour moi" fonctionne bien car quand je la test, elle m'affiche la bonne valeur mais quand je l'appelle dans une requête de type select, je reçois une autre valeur.

    Code :
    1
    2
    3
    4
     
    DECLARE @specialPicutre nvarchar, @extension nvarchar(20)
    SET EXEC @specialPicutre = _getSpecialPicture304 553246, @extension OUTPUT
    SELECT @extension /*renvoie .jpg et devrait renvoyer _B.jpg comme dans la procédure */
    Quelqu'un aurai une idée ?

    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro Grégory Boge
    Administrateur de base de données
    Inscrit en
    août 2009
    Messages
    574
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Boge
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : août 2009
    Messages : 574
    Points : 868
    Points
    868

    Par défaut

    Est ce que tu pourrais fournir le ddl de la procédure stockée ainsi que de la/les table(s) concernée(s) ?

  3. #3
    Membre du Club
    Homme Profil pro Karim
    Développeur informatique
    Inscrit en
    mai 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Nom : Homme Karim
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mai 2004
    Messages : 101
    Points : 42
    Points
    42

    Par défaut

    Citation Envoyé par darkelend Voir le message
    Est ce que tu pourrais fournir le ddl de la procédure stockée ainsi que de la/les table(s) concernée(s) ?
    Voici déjà procédure
    Code :
    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
    60
    61
     
    CREATE PROCEDURE  _getSpecialPicture304 @hulpverleningID int, @extension nvarchar(20) OUTPUT
    AS
    BEGIN
    	DECLARE @chekReden bit, @getCpA AS nvarchar(4), @getCpB AS nvarchar(4), @hvType int
    	SELECT     @chekReden=_Reden_Transport.check_reden, @getCpB = HV_SECUNDAIR_VERVOER.POSTCODE_BESTEMMING, @getCpA = HV_SECUNDAIR_VERVOER.POSTCODE_AFHAALADRES, 
    	                      @hvType=FHULPVERLENING.HV_TYPE_ID
    	FROM         dbo.FHULPVERLENING INNER JOIN
    	                      dbo.HV_SECUNDAIR_VERVOER ON dbo.FHULPVERLENING.HULPVERLENINGID = dbo.HV_SECUNDAIR_VERVOER.HULPVERLENINGID 
    	INNER JOIN dbo._Reden_Transport ON dbo.HV_SECUNDAIR_VERVOER.REDEN_TRANSPORT = dbo._Reden_Transport.REDEN_TRANSPORT
    	WHERE     dbo.FHULPVERLENING.HULPVERLENINGID =  @hvType
     
    	DECLARE @provincieA int, @provincieB int, @adminArrA AS int, @adminArrB AS int
     
    	SELECT     TOP 1 @provincieA = PostCodeA.Provincie_id, @provincieB = PostCodeB.Provincie_id, @adminArrA = PostCodeB.AdministratiefArr_id, @adminArrB = PostCodeB.AdministratiefArr_id
    	FROM         _tPOSTCODE PostCodeA CROSS JOIN
    	                      _tPOSTCODE PostCodeB
    	WHERE     (PostCodeA.ZipCode = @getCpA) AND (PostCodeB.ZipCode = @getCpB)
     
    	DECLARE @cpTable AS nvarchar(125)
     
    	DECLARE @checkCpA nvarchar
    	DECLARE @checkCpB nvarchar (4)
    	IF(@provincieA = 10 AND @provincieB = 10 AND (@hvType=10 OR @hvType= 22))/*GENT*/
    		BEGIN
    			SELECT @extension='_G.jpg'
    			SELECT @cpTable = '_Gent_Pictures_304'
    			SELECT @checkCpA  = ZipCode  FROM _Gent_Pictures_304  WHERE  ZipCode =@getCpA/*Afhaaladres*/
    		 	SELECT @checkCpB  = ZipCode  FROM _Gent_Pictures_304  WHERE  ZipCode =@getCpB/*Bestemming*/
     
    		END
    	ELSE IF (@provincieA = 3 AND @provincieB = 3 AND (@hvType=10 OR @hvType= 22 OR @hvType= 32 OR @hvType= 33))/*BRUSSEL*/
    		BEGIN
    			SELECT @extension='_B.jpg'
    			SELECT @cpTable = '_Brussel_Pictures_304'
    			SELECT @checkCpA  = ZipCode  FROM _Brussel_Pictures_304  WHERE  ZipCode =@getCpA/*Afhaaladres*/
    		 	SELECT @checkCpB  = ZipCode  FROM _Brussel_Pictures_304  WHERE  ZipCode =@getCpB/*Bestemming*/
     
    		END
    	ELSE IF (((@provincieA = 6 OR @provincieA = 1) AND @adminArrA=40) AND ((@provincieB = 6 OR @provincieB = 1) AND @adminArrB=40))/*LIMBURG-TURNHOUT*/
    		BEGIN
    			SELECT @extension='_TL.jpg'
    			SELECT @cpTable = '_Limburg_Pictures_304'
    			SELECT @checkCpA  = ZipCode  FROM _Limburg_Pictures_304  WHERE  ZipCode =@getCpA/*Afhaaladres*/
    		 	SELECT @checkCpB  = ZipCode  FROM _Limburg_Pictures_304  WHERE  ZipCode =@getCpB/*Bestemming*/
    		END
    	ELSE
    	BEGIN
    		SELECT @extension='.jpg'
    	END
     
    	IF (@checkCpA <> 0 AND @checkCpB <> 0)
    		BEGIN
    			print  @extension
    		END
    	ELSE
    		BEGIN
    			print  '.jpg'
    		END
    END
    GO
    Ici le check me renvoie bien '_B.jpg'
    Mais quand je l'appelle dans une requete, il me renvoie '.jpg'

    Merci pour ton aide

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •