10/08/2007, 13h24
|
#3
|
|
|
Re: Transact-SQL - SQL dynamique
Merci.
--
Patrick
"Sylvain Lafontaine" wrote:
> Exemple:
>
> declare @i int
> exec sp_executesql N'select @i = count(idecole) + 1 from ecoles', N'@i int
> output', @i output
>
> select @i
>
>
> Faites bien attention de ne pas oublier les « N' », sinon cela ne
> fonctionnera pas. Voir aussi
> http://www.nigelrivett.net/SQLTsql/sp_executeSQL.html :
>
> -- setting output parameter from dynamic stored procedure call
>
> declare @OutputParameter varchar(100) ,
> @error int ,
> @SPName varchar(128) ,
> @SPCall nvarchar(128) ,
> @rc int
> select @SPCall = 'exec ' + @SPName + ' @OutputParameter output'
> exec @rc = sp_executesql @SPCall, N'@OutputParameter varchar(100) output',
> @OutputParameter output
> select @Error = @@error
>
> --
> Sylvain Lafontaine, ing.
> MVP - Technologies Virtual-PC
> E-mail: sylvain aei ca (fill the blanks, no spam please)
>
>
> "Patrick" <Patrick@discussions.microsoft.com> wrote in message
> news:C6D2C39A-3FE3-4595-AA2F-262C1F0EAB7D@microsoft.com...
> > Bonjour,
> >
> > Je suis obligé d'utiliser du SQL dynamique pour créer le SQL d'une
> > requête.
> > J'utilise donc une variable qui contient ce SQL.
> > La procédure stockée qui utilise ce SQL dynamique doit renvoyer une valeur
> > qui est calculée par celui-ci. Mais cela ne fonctionne jamais.
> >
> > La procédure est dans ce genre :
> >
> > DECLARE @total1 int
> >
> > EXEC ('DECLARE @total2 int
> > @total2 = (SELECT SUM(' + @monChamp + ')
> > FROM maTable)')
> >
> > @total1 = @total2
> >
> > J'aimerais récupérer la valeur contenue dans la variable @total2.
> >
> > Savez-vous pourquoi et comment faire pour pouvoir récupérer la valeur
> > calculée par le SQL ?
> >
> > Merci pour votre aide.
> >
> > --
> > Patrick
>
>
>
|
|
|
|