我有动态查询我想从中获取两个输出参数我使用了以下代码,但输出参数返回null
declare @query nvarchar(max);
declare @result int;
declare @type int
declare @mainVarcharLength int;
set @query = 'select count(*) , Type_Code from Customers WHERE Customers.Cust_Name = ''CUSTOMER 99'' '
set @query = @query + ' and Cus_Is_Active = 1 Group BY Type_Code';
select @query
EXEC sp_executesql @query, N'@result int OUTPUT, @type int OUTPUT', @result, @type
select @result
select @type
如何解决这个问题,以及如何传递多个输出参数
答案 0 :(得分:14)
您需要说明分配给输出的内容;
set @query = 'select @result=count(*), @type=Type_Code from Customers ....'
然后用OUTPUT
;
EXEC sp_executesql @query,
N'@result int OUTPUT, @type int OUTPUT',
@result OUTPUT,
@type OUTPUT
(您也可以传递''CUSTOMER 99''
作为输入)