[sql 200] Problème avec une stored procedure
Bonjour à tous,
Je voudrais faire une stored dynamique et pouvoir recupérer le resultat d'un première requête dynamique de ma stored pour le reutiliser plus tard dans cette même stored
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
ALTER PROCEDURE [dbo].[GetroleEffectif]
@idu as int,
@nomr as nvarchar(50)
AS
BEGIN
declare @idp as int
declare @sql as nvarchar(500)
set @sql = 'select idpersonne from ' + @nomr + ' where id' + @nomr + ' = ' + @idu;
print @sql
set @idp=( @sql )
print @idp
select hdu.nomrole,a.nomrole,hda.nomrole,v.nomrole,e.nomrole
from personne p
left outer join helpdeskuser hdu on p.idpersonne = hdu.idpersonne
left outer join helpdeskadmin hda on p.idpersonne = hda.idpersonne
left outer join admin a on a.idpersonne =p.idpersonne
left outer join viewer v on v.idpersonne = p.idpersonne
left outer join enduser e on e.idpersonne = p.idpersonne
where p.idpersonne = @sql
END |
J'ai aussi essayeé en faisant directement @idp = ('select idpersonne from ' + @nomr + ' where id' + @nomr + ' = ' + @idu); mais il me renvoit l'erreur que voici
Citation:
Msg 245, Level 16, State 1, Procedure GetroleEffectif, Line 14
Conversion failed when converting the nvarchar value 'select idpersonne from admin where idadmin = ' to data type int.