昨天写了一个存储过程,想将存储过程的返回值直接赋值给变量,但是直接赋值,不行,无奈,又复制了一份存储过程的代码,还是不行。
最后,尝试了一种。
DECLARE @sql nvarchar(4000),@called_calls INT
SET @sql ='SELECT @a=COUNT(*) FROM users as u where u.client_id=1 '
exec sp_executesql @sql,N'@a int output',@called_calls output
SELECT @called_calls
--@sql 注意类型必须是nvarchar
---N不可少