OVH Cloud OVH Cloud

perte de la variable dans execute

1 réponse
Avatar
AXL
bonjour,

je fait une procedure stocke avec de variable

du style :
create procedure testprecstock
as
declare @test varchar (10),
@test2 varchar(50)
@test3 varchar(50)

select @test = 'Ma_table'
exec ('select @test2=champ1,@test3=champ2 from ' + @test + ' where
code=''TEST''')

...

bien sur ma requete est plus compliqué que ca mais bon le probleme se
produit quand meme car il me dit qu'il ne connait po les variables @test2 et
@test3

ma requete se genere automatiquement dans un variable et donc j'ai besoin du
exec, mais j'ai aussi besoin des valeurs de retour !!!

il me dit a chaque fois que @test2 et @test3 ne sont po declaré !!

merci de venir a mon secours !!!

AXL

1 réponse

Avatar
deconnected
ET bien comme tu as écrit ta requete @test2 doit etre "instancié" lors de
l'execution de ta requete.
exemple :

declare @test2 varchar(50)
declare @test3 varchar(50)
declare @str NVARCVHAR(128) -- nvarchar pour sp_executesql

set @str= 'select @test2 = CHAMP1,@test3=CHAMP2 from rien'
exec sp_executesql @str,N'@test2 as typedeCHAMP1,@test3 as
TYPEDECHAMP2',@test2 output, @test3 output



"AXL" a écrit dans le message de
news:ekRj$
bonjour,

je fait une procedure stocke avec de variable

du style :
create procedure testprecstock
as
declare @test varchar (10),
@test2 varchar(50)
@test3 varchar(50)

select @test = 'Ma_table'
exec ('select @test2=champ1,@test3=champ2 from ' + @test + ' where
code=''TEST''')

...

bien sur ma requete est plus compliqué que ca mais bon le probleme se
produit quand meme car il me dit qu'il ne connait po les variables @test2


et
@test3

ma requete se genere automatiquement dans un variable et donc j'ai besoin


du
exec, mais j'ai aussi besoin des valeurs de retour !!!

il me dit a chaque fois que @test2 et @test3 ne sont po declaré !!

merci de venir a mon secours !!!

AXL