Je souhaite executer une requ=EAte dynamique dans une=20
proc=E9dure stock=E9e et r=E9cup=E9rer une variable de cette=20
requ=EAte pour la r=E9utiliser dans ma proc=E9dure stock=E9e.
ex :=20
set @sql=3D 'select @envoyes=3Dcount(email_campagne.email_id)=20
from email_campagne inner join email on email.email_id=3D=20
email_campagne.email_id '
exec (@sql)
Et je re=E7ois ce message d'erreur :
La variable '@envoyes' doit =EAtre d=E9clar=E9e.
Alors qu'elle est d=E9clar=E9e dans ma proc=E9dure stock=E9e.
En fait je n'arrive pas =E0 r=E9cup=E9rer de variable de mon=20
exec dans la proc=E9dure stock=E9e qui l'utilise.
Avez vous une solution pour r=E9soudre ce pb ou le=20
contourner ???
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
jgabillaud
Je pense qu'il est préférable de passer par sp_executesql. La doc en ligne contient un exemple qui doit vour permettre de résoudre votre problème
"Greg" a écrit :
Je souhaite executer une requête dynamique dans une procédure stockée et récupérer une variable de cette requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id) from email_campagne inner join email on email.email_id= email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur : La variable '@envoyes' doit être déclarée. Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le contourner ???
Merci d'avance Greg
Je pense qu'il est préférable de passer par sp_executesql.
La doc en ligne contient un exemple qui doit vour permettre de résoudre
votre problème
"Greg" a écrit :
Je souhaite executer une requête dynamique dans une
procédure stockée et récupérer une variable de cette
requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id)
from email_campagne inner join email on email.email_id=
email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur :
La variable '@envoyes' doit être déclarée.
Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon
exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le
contourner ???
Je pense qu'il est préférable de passer par sp_executesql. La doc en ligne contient un exemple qui doit vour permettre de résoudre votre problème
"Greg" a écrit :
Je souhaite executer une requête dynamique dans une procédure stockée et récupérer une variable de cette requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id) from email_campagne inner join email on email.email_id= email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur : La variable '@envoyes' doit être déclarée. Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le contourner ???
Merci d'avance Greg
Laurent MOREAU
Question déja posée il y a 13 jours...
Voici l'excellente réponse de Philippe:
DECLARE @SQLString nvarchar(2000) DECLARE @ParmDefinition nvarchar(500) DECLARE @RowCount int
SET @SQLString = 'SELECT @RowCountOUT = count(*) FROM ' + @TableName SET @ParmDefinition = '@RowCountOUT int OUTPUT' EXECUTE sp_executesql @SQLString, @ParmDefinition, @RowCount OUTPUT
Laurent.
"Greg" wrote in message news:18e201c5312c$e4f4aed0$ Je souhaite executer une requête dynamique dans une procédure stockée et récupérer une variable de cette requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id) from email_campagne inner join email on email.email_id email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur : La variable '@envoyes' doit être déclarée. Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le contourner ???
Merci d'avance Greg
Question déja posée il y a 13 jours...
Voici l'excellente réponse de Philippe:
DECLARE @SQLString nvarchar(2000)
DECLARE @ParmDefinition nvarchar(500)
DECLARE @RowCount int
SET @SQLString = 'SELECT @RowCountOUT = count(*) FROM ' + @TableName
SET @ParmDefinition = '@RowCountOUT int OUTPUT'
EXECUTE sp_executesql @SQLString, @ParmDefinition, @RowCount OUTPUT
Laurent.
"Greg" <anonymous@discussions.microsoft.com> wrote in message
news:18e201c5312c$e4f4aed0$a601280a@phx.gbl...
Je souhaite executer une requête dynamique dans une
procédure stockée et récupérer une variable de cette
requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id)
from email_campagne inner join email on email.email_id email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur :
La variable '@envoyes' doit être déclarée.
Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon
exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le
contourner ???
DECLARE @SQLString nvarchar(2000) DECLARE @ParmDefinition nvarchar(500) DECLARE @RowCount int
SET @SQLString = 'SELECT @RowCountOUT = count(*) FROM ' + @TableName SET @ParmDefinition = '@RowCountOUT int OUTPUT' EXECUTE sp_executesql @SQLString, @ParmDefinition, @RowCount OUTPUT
Laurent.
"Greg" wrote in message news:18e201c5312c$e4f4aed0$ Je souhaite executer une requête dynamique dans une procédure stockée et récupérer une variable de cette requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id) from email_campagne inner join email on email.email_id email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur : La variable '@envoyes' doit être déclarée. Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le contourner ???
Merci d'avance Greg
Philippe T [MS]
Bonjour,
Merci pour le "Excellente réponse" !!! :-)
C'est effectivement je pense la meilleur solution.
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> wrote in message news:d20t35$kus$
Question déja posée il y a 13 jours...
Voici l'excellente réponse de Philippe:
DECLARE @SQLString nvarchar(2000) DECLARE @ParmDefinition nvarchar(500) DECLARE @RowCount int
SET @SQLString = 'SELECT @RowCountOUT = count(*) FROM ' + @TableName SET @ParmDefinition = '@RowCountOUT int OUTPUT' EXECUTE sp_executesql @SQLString, @ParmDefinition, @RowCount OUTPUT
Laurent.
"Greg" wrote in message news:18e201c5312c$e4f4aed0$ Je souhaite executer une requête dynamique dans une procédure stockée et récupérer une variable de cette requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id) from email_campagne inner join email on email.email_id > email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur : La variable '@envoyes' doit être déclarée. Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le contourner ???
Merci d'avance Greg
Bonjour,
Merci pour le "Excellente réponse" !!! :-)
C'est effectivement je pense la meilleur solution.
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> wrote in message
news:d20t35$kus$1@s1.news.oleane.net...
Question déja posée il y a 13 jours...
Voici l'excellente réponse de Philippe:
DECLARE @SQLString nvarchar(2000)
DECLARE @ParmDefinition nvarchar(500)
DECLARE @RowCount int
SET @SQLString = 'SELECT @RowCountOUT = count(*) FROM ' + @TableName
SET @ParmDefinition = '@RowCountOUT int OUTPUT'
EXECUTE sp_executesql @SQLString, @ParmDefinition, @RowCount OUTPUT
Laurent.
"Greg" <anonymous@discussions.microsoft.com> wrote in message
news:18e201c5312c$e4f4aed0$a601280a@phx.gbl...
Je souhaite executer une requête dynamique dans une
procédure stockée et récupérer une variable de cette
requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id)
from email_campagne inner join email on email.email_id > email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur :
La variable '@envoyes' doit être déclarée.
Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon
exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le
contourner ???
C'est effectivement je pense la meilleur solution.
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> wrote in message news:d20t35$kus$
Question déja posée il y a 13 jours...
Voici l'excellente réponse de Philippe:
DECLARE @SQLString nvarchar(2000) DECLARE @ParmDefinition nvarchar(500) DECLARE @RowCount int
SET @SQLString = 'SELECT @RowCountOUT = count(*) FROM ' + @TableName SET @ParmDefinition = '@RowCountOUT int OUTPUT' EXECUTE sp_executesql @SQLString, @ParmDefinition, @RowCount OUTPUT
Laurent.
"Greg" wrote in message news:18e201c5312c$e4f4aed0$ Je souhaite executer une requête dynamique dans une procédure stockée et récupérer une variable de cette requête pour la réutiliser dans ma procédure stockée.
ex :
set @sql= 'select @envoyes=count(email_campagne.email_id) from email_campagne inner join email on email.email_id > email_campagne.email_id '
exec (@sql)
Et je reçois ce message d'erreur : La variable '@envoyes' doit être déclarée. Alors qu'elle est déclarée dans ma procédure stockée.
En fait je n'arrive pas à récupérer de variable de mon exec dans la procédure stockée qui l'utilise.
Avez vous une solution pour résoudre ce pb ou le contourner ???