J'ai une procedure stockée qui prend en parametre une chaine de caracteres
et qui me renvoit le resultat :
voilà ma proc
ALTER PROCEDURE dbo.tabletest_sp
(
@ZoneName nvarchar(50)
)
AS
declare @sql varchar(1000)
declare @test nvarchar(50)
set @ZoneName = 'toto 1'
set @sql='Select * from TableTest where '
set @sql=@sql+' FirstName = ' + @ZoneName
Je n'obtient pas de resultat et je ne comprends pas pourquoi quelqu'un a une
idée ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sylvain Lafontaine
Pas une mais 2 idées en fait:
1- vous devez mettre la valeur « toto 1» entre apostrophe, puisqu'il s'agit d'une variable chaîne de caractère. Comme ces apostrophes sont eux-même dans une chaîne de caractère, on doit les dédoubler:
set @ZoneName = '''toto 1'''
2- Il ne suffit de construire votre chaîne SQL, il faut l'appeler quelque part avec EXEC. Comme vous n'avez pas complété votre exemple de code, j'imagine que vous avez de bonnes raisons de vouloir bâtir votre requête SQL et de l'appeler ensuite par un EXEC au lieu d'utiliser directement votre paramètre:
select * from dbo.TableTest where FirstName = @ZoneName
S. L.
"Le Saint" wrote in message news:GCK_c.216933$
Bonjour,
J'ai une procedure stockée qui prend en parametre une chaine de caracteres et qui me renvoit le resultat : voilà ma proc ALTER PROCEDURE dbo.tabletest_sp ( @ZoneName nvarchar(50) ) AS declare @sql varchar(1000) declare @test nvarchar(50)
set @ZoneName = 'toto 1'
set @sql='Select * from TableTest where '
set @sql=@sql+' FirstName = ' + @ZoneName
Je n'obtient pas de resultat et je ne comprends pas pourquoi quelqu'un a une idée ?
thx
have fun
Pas une mais 2 idées en fait:
1- vous devez mettre la valeur « toto 1» entre apostrophe, puisqu'il s'agit
d'une variable chaîne de caractère. Comme ces apostrophes sont eux-même
dans une chaîne de caractère, on doit les dédoubler:
set @ZoneName = '''toto 1'''
2- Il ne suffit de construire votre chaîne SQL, il faut l'appeler quelque
part avec EXEC. Comme vous n'avez pas complété votre exemple de code,
j'imagine que vous avez de bonnes raisons de vouloir bâtir votre requête SQL
et de l'appeler ensuite par un EXEC au lieu d'utiliser directement votre
paramètre:
select * from dbo.TableTest where FirstName = @ZoneName
S. L.
"Le Saint" <paquito@chello.fr> wrote in message
news:GCK_c.216933$vG5.127102@news.chello.at...
Bonjour,
J'ai une procedure stockée qui prend en parametre une chaine de caracteres
et qui me renvoit le resultat :
voilà ma proc
ALTER PROCEDURE dbo.tabletest_sp
(
@ZoneName nvarchar(50)
)
AS
declare @sql varchar(1000)
declare @test nvarchar(50)
set @ZoneName = 'toto 1'
set @sql='Select * from TableTest where '
set @sql=@sql+' FirstName = ' + @ZoneName
Je n'obtient pas de resultat et je ne comprends pas pourquoi quelqu'un a
une
idée ?
1- vous devez mettre la valeur « toto 1» entre apostrophe, puisqu'il s'agit d'une variable chaîne de caractère. Comme ces apostrophes sont eux-même dans une chaîne de caractère, on doit les dédoubler:
set @ZoneName = '''toto 1'''
2- Il ne suffit de construire votre chaîne SQL, il faut l'appeler quelque part avec EXEC. Comme vous n'avez pas complété votre exemple de code, j'imagine que vous avez de bonnes raisons de vouloir bâtir votre requête SQL et de l'appeler ensuite par un EXEC au lieu d'utiliser directement votre paramètre:
select * from dbo.TableTest where FirstName = @ZoneName
S. L.
"Le Saint" wrote in message news:GCK_c.216933$
Bonjour,
J'ai une procedure stockée qui prend en parametre une chaine de caracteres et qui me renvoit le resultat : voilà ma proc ALTER PROCEDURE dbo.tabletest_sp ( @ZoneName nvarchar(50) ) AS declare @sql varchar(1000) declare @test nvarchar(50)
set @ZoneName = 'toto 1'
set @sql='Select * from TableTest where '
set @sql=@sql+' FirstName = ' + @ZoneName
Je n'obtient pas de resultat et je ne comprends pas pourquoi quelqu'un a une idée ?
thx
have fun
Le Saint
Merci, beaucoup
Le Saint
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news:
Pas une mais 2 idées en fait:
1- vous devez mettre la valeur « toto 1» entre apostrophe, puisqu'il
s'agit
d'une variable chaîne de caractère. Comme ces apostrophes sont eux-même dans une chaîne de caractère, on doit les dédoubler:
set @ZoneName = '''toto 1'''
2- Il ne suffit de construire votre chaîne SQL, il faut l'appeler quelque part avec EXEC. Comme vous n'avez pas complété votre exemple de code, j'imagine que vous avez de bonnes raisons de vouloir bâtir votre requête
SQL
et de l'appeler ensuite par un EXEC au lieu d'utiliser directement votre paramètre:
select * from dbo.TableTest where FirstName = @ZoneName
S. L.
"Le Saint" wrote in message news:GCK_c.216933$ > Bonjour, > > J'ai une procedure stockée qui prend en parametre une chaine de
caracteres
> et qui me renvoit le resultat : > voilà ma proc > ALTER PROCEDURE dbo.tabletest_sp > ( > @ZoneName nvarchar(50) > ) > AS > declare @sql varchar(1000) > declare @test nvarchar(50) > > set @ZoneName = 'toto 1' > > set @sql='Select * from TableTest where ' > > set @sql=@sql+' FirstName = ' + @ZoneName > > > > Je n'obtient pas de resultat et je ne comprends pas pourquoi quelqu'un a > une > idée ? > > thx > > have fun > > > >
Merci, beaucoup
Le Saint
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news:ufkKjs4kEHA.1936@TK2MSFTNGP12.phx.gbl...
Pas une mais 2 idées en fait:
1- vous devez mettre la valeur « toto 1» entre apostrophe, puisqu'il
s'agit
d'une variable chaîne de caractère. Comme ces apostrophes sont eux-même
dans une chaîne de caractère, on doit les dédoubler:
set @ZoneName = '''toto 1'''
2- Il ne suffit de construire votre chaîne SQL, il faut l'appeler quelque
part avec EXEC. Comme vous n'avez pas complété votre exemple de code,
j'imagine que vous avez de bonnes raisons de vouloir bâtir votre requête
SQL
et de l'appeler ensuite par un EXEC au lieu d'utiliser directement votre
paramètre:
select * from dbo.TableTest where FirstName = @ZoneName
S. L.
"Le Saint" <paquito@chello.fr> wrote in message
news:GCK_c.216933$vG5.127102@news.chello.at...
> Bonjour,
>
> J'ai une procedure stockée qui prend en parametre une chaine de
caracteres
> et qui me renvoit le resultat :
> voilà ma proc
> ALTER PROCEDURE dbo.tabletest_sp
> (
> @ZoneName nvarchar(50)
> )
> AS
> declare @sql varchar(1000)
> declare @test nvarchar(50)
>
> set @ZoneName = 'toto 1'
>
> set @sql='Select * from TableTest where '
>
> set @sql=@sql+' FirstName = ' + @ZoneName
>
>
>
> Je n'obtient pas de resultat et je ne comprends pas pourquoi quelqu'un a
> une
> idée ?
>
> thx
>
> have fun
>
>
>
>
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news:
Pas une mais 2 idées en fait:
1- vous devez mettre la valeur « toto 1» entre apostrophe, puisqu'il
s'agit
d'une variable chaîne de caractère. Comme ces apostrophes sont eux-même dans une chaîne de caractère, on doit les dédoubler:
set @ZoneName = '''toto 1'''
2- Il ne suffit de construire votre chaîne SQL, il faut l'appeler quelque part avec EXEC. Comme vous n'avez pas complété votre exemple de code, j'imagine que vous avez de bonnes raisons de vouloir bâtir votre requête
SQL
et de l'appeler ensuite par un EXEC au lieu d'utiliser directement votre paramètre:
select * from dbo.TableTest where FirstName = @ZoneName
S. L.
"Le Saint" wrote in message news:GCK_c.216933$ > Bonjour, > > J'ai une procedure stockée qui prend en parametre une chaine de
caracteres
> et qui me renvoit le resultat : > voilà ma proc > ALTER PROCEDURE dbo.tabletest_sp > ( > @ZoneName nvarchar(50) > ) > AS > declare @sql varchar(1000) > declare @test nvarchar(50) > > set @ZoneName = 'toto 1' > > set @sql='Select * from TableTest where ' > > set @sql=@sql+' FirstName = ' + @ZoneName > > > > Je n'obtient pas de resultat et je ne comprends pas pourquoi quelqu'un a > une > idée ? > > thx > > have fun > > > >