sql - 执行从数据库表返回的存储过程

标签 sql sql-server sql-server-2008 stored-procedures

我正在使用 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/

相关文章:

sql - 查找缺失数据或比较整行

sql - 如何打开.mdf和.ldf文件?

java - 如何检查 jOOQ 中是否存在表?

sql - 从 SQL 查询 Oracle 中获取记录范围

mysql - 在最小值相同的情况下随机设置最小值或列

sql-server - 如何在不知道 T-SQL 中固定列的情况下进行透视

php - 分组/有奇怪的行为

c# - sql 依赖项如何用于来回传递数据

java - 如何为每个 sql 记录创建单独的输出文件?

sql-server-2008 - 如何将小数点四舍五入到上限值