Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Valeur renvoyée par exec(@sql)

D'une part, vous pouvez utiliser sp_executesql :

exec sp_executesql N'select @rowcount=count(*) from anytable', 
                    N'@rowcount int output', @rowcount output;

D'autre part, vous pouvez utiliser une table temporaire :

declare @result table ([rowcount] int);
insert into @result ([rowcount])
exec (N'select count(*) from anytable');
declare @rowcount int = (select top (1) [rowcount] from @result);