gpt4 book ai didi

sql - 使用/动态 SQL 捕获输出从存储过程执行存储过程

转载 作者:行者123 更新时间:2023-12-03 22:48:51 26 4
gpt4 key购买 nike

在存储过程 (A) 中,我需要在特定数据库中调用存储过程 (X) 并捕获输出。 X 返回单个值。

据我所知,我需要将 X 的数据库名称提供给 A 中的存储过程,并且我需要使用动态 SQL 来构建针对所需数据库的执行查询。

我无法弄清楚的是如何从 A 中的 X 捕获输出以处理结果。

最佳答案

您可以使用 sp_executesql动态调用您的嵌套存储过程。

DECLARE @db AS SYSNAME
DECLARE @return_value AS INT
DECLARE @output_value AS INT
DECLARE @sql AS NVARCHAR(MAX)

-- Set your DB name
SET @db = N'mydb'

/*
Use sp_executesql to dynamically pass in the db and stored procedure
to execute while also defining the values and assigning to local variables.
*/
SET @sql = N'EXEC @rtn = ' + @db + '.dbo.[your_stored_procedure] @output OUTPUT'
EXEC sp_executesql @sql
, N'@rtn AS INT, @output AS INT OUTPUT'
, @return_value = @rtn
, @output_value = @output OUTPUT

关于sql - 使用/动态 SQL 捕获输出从存储过程执行存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20757804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com