从 SQL 服务器中的 table 中的列调用存储过程

Call a stored procedure from a column in table in SQL Server

希望有人能帮我解决这个问题。我有一个 table 将保存存储过程调用以及这些调用的优先级和读取此 table 并执行过程的存储过程。

这样的查询:

DECLARE @sql VARCHAR(MAX)
SET @sql = SELECT TOP 1 procColumn FROM ProcRequest WHERE Status = 'NotRan' ORDER BY Priority, TimeSubmitted
EXEC @sql

当我执行 sql 时,出现以下错误:

Msg 2812, Level 16, State 62, Line 3
Could not find stored procedure 'dev.dbo.uspProc1 10,'2013-01-01 00:00:00','2014-01-01 00:00:00''

该过程存在,如果我从 table 中的列复制过程调用并执行它,它就会运行。

过程调用如下所示:

dev.dbo.uspProc1 10,'2013-01-01 00:00:00','2014-01-01 00:00:00'

有什么地方出错了吗?

你可以试试:

declare @sql varchar(max)
select top 1 @sql = procColumn from ProcRequest where Status = 'NotRan' order by Priority, TimeSubmitted
exec sp_executesql @sql;