我正在使用 sql server 2008
我有一个数据库表,其中有一列包含存储过程名称。
我想查询返回存储过程名称列表的数据库表,并执行它们。
存储过程类似,都有一个 select 语句。我想将这个 select 语句中返回的数据插入到数据库表中。
伪代码如下所示:
INSERT INTO MyTable
EXECUTE sp_executesql SELECT StoredProcedureName FROM Table
有人能够帮助我使用正确的 sql 来实现上述目标吗?
最佳答案
sp_executesql 接受 unicode 字符串而不是 tsql 语句。因此,您需要像这样执行您的过程:
execute sp_executesql 'execute ' + @storedprocedurename
它将执行单个过程。
您将需要编写一些迭代过程来填充源表中的 @storedprocedurename 变量。
关于sql - 执行从数据库表返回的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9594101/