【发布时间】:2013-12-24 08:56:27
【问题描述】:
在存储过程 (A) 中,我需要在特定数据库中调用存储过程 (X) 并捕获输出。 X 返回单个值。
据我了解,我需要将 X 的数据库名称提供给 A 中的存储过程,并且我需要使用动态 SQL 来构建针对所需数据库的执行查询。
我无法弄清楚如何从 A 中的 X 捕获输出以处理结果。
【问题讨论】:
-
你应该可以使用
sp_executesql来做到这一点,比如EXEC sp_executesql N'EXEC @rtn = ' + @db + N'.dbo.[your_stored_procedure] @output OUTPUT', N'@rtn AS INT, @output AS INT OUTPUT', @yourlocalvar1 = @rtn, @yourlocalvar2 = @output,这只是我的想法,可能需要一些调整。
标签: sql sql-server stored-procedures dynamic-sql