嗨,我的商店程序中有这样的东西,
SET @SQl = 'Some query' --this query return only a cell the type int
SET @VAR = exec(@SQL) --the varaible @var it's local and the type int
如何获取查询的返回值并设置为变量,这可能吗?或者我在做什么是错的???
感谢您的帮助
答案 0 :(得分:3)
如果查询返回标量结果集,则需要执行
DECLARE @VAR INT
DECLARE @Result TABLE
(
C INT
)
DECLARE @SQl NVARCHAR(MAX)
SET @SQl = 'SELECT 1'
INSERT INTO @Result
EXEC(@SQl)
SELECT @VAR = C FROM @Result
使用sp_executesql
和OUTPUT
参数
DECLARE @VAR INT
DECLARE @SQl NVARCHAR(MAX)
SET @SQl = 'SELECT @out = 1'
EXEC sp_executesql @SQl, N'@out int output', @out = @VAR OUTPUT
SELECT @VAR