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 ?
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: sylvain aei ca (fill the blanks, no spam please)
"Patrick" wrote in message news:
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
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
--
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 ?
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: sylvain aei ca (fill the blanks, no spam please)
"Patrick" wrote in message news:
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
Patrick
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
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: sylvain aei ca (fill the blanks, no spam please)
"Patrick" wrote in message news: > 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
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
--
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
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: sylvain aei ca (fill the blanks, no spam please)
"Patrick" wrote in message news: > 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