Sql server 在存储过程中使用resultset

Sql server 在存储过程中使用resultset,sql-server,Sql Server,为什么我不能使用resultset作为存储过程的输入 错误: 味精102,第15级,状态1,第2行 “(”附近的语法不正确 代码: 您需要先将结果保存到变量,然后才能使用该变量: DECLARE @pStatusId INT; SELECT @pStatusId = [ID] FROM [dbo].[dimStatus] WHERE [name] = 'Inactive'; EXECUTE [dbo].[spUpdateTrade] @statusID = @pStatusId, @ID = 2

为什么我不能使用resultset作为存储过程的输入

错误:

味精102,第15级,状态1,第2行
“(”附近的语法不正确

代码:


您需要先将结果保存到变量,然后才能使用该变量:

DECLARE @pStatusId INT;
SELECT @pStatusId = [ID] FROM [dbo].[dimStatus] WHERE [name] = 'Inactive';
EXECUTE [dbo].[spUpdateTrade] @statusID = @pStatusId, @ID = 2

您需要先将结果保存到变量,然后才能使用该变量:

DECLARE @pStatusId INT;
SELECT @pStatusId = [ID] FROM [dbo].[dimStatus] WHERE [name] = 'Inactive';
EXECUTE [dbo].[spUpdateTrade] @statusID = @pStatusId, @ID = 2
Declare @id int
select @id=[ID] FROM [dbo].[dimStatus] WHERE [name] = 'Inactive'--risk of getting last value in case of multiple values

EXECUTE [dbo].[spUpdateTrade]
 @statusID =@id, 
 @ID = 2