从 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;
希望有人能帮我解决这个问题。我有一个 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;