在我的存储过程中,我必须传递一个可能每次都会更改的表和列名称。所以我建立命令并执行它。我想在另一个变量@curr_id中输出。此存储过程将通过使用@curr_id作为输入,由第二个存储过程调用。通过执行命令调用另一个存储过程
我的问题是填充@curr_id vriable。它返回为零。如果我删除了 curr_id变量,那么它可以工作(请参阅注释行)
有人可以。告诉我 - 如何获取@curr_id填充并返回为OUTPUT? - 如何从第二个存储过程调用第一个存储过程?
ALTER PROCEDURE [dbo].[sp_astm_getcurrid]
@ColName as nvarchar(250),
@TblName as nvarchar(250),
@curr_id nvarchar(max) OUTPUT
AS
BEGIN
DECLARE @cmd nvarchar(max)
SET @cmd =N'SET '[email protected]_id+'= SELECT MAX('[email protected]+') FROM '[email protected];
--SET @cmd =N'SELECT MAX('[email protected]+') FROM '[email protected];
EXEC (@cmd)
END
我只是想在curr_id输出,并从另一个存储过程调用存储过程。这对我来说看起来很复杂。 – vrao 2010-08-17 19:55:08
你得到了ret变量的输出,你可以忽略所有关于参数的代码。如果你愿意,你也可以忽略try/catch块。 – Beth 2010-08-17 19:57:25