2015-01-15 4 views
1

Надеюсь, кто-то может мне помочь. У меня есть таблица, которая будет хранить вызовы хранимой процедуры вместе с приоритетом этих вызовов и хранимой процедурой, которая читает эту таблицу и выполняет процедуры.Вызвать хранимую процедуру из столбца таблицы SQL Server

Запроса так:

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''

Процедура существует, и если я копирую вызов процедуры из колонки в таблице и выполнить его, он работает.

Вызов процедуры выглядит следующим образом:

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

Любые идеи, где я неправильно?

ответ

1

Вы можете попробовать:

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

благодаря спариванию, что работал отлично! Cheers – denimknight

+0

Не беспокойтесь @denimknight :) – chridam

Смежные вопросы