| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > Вызов процедуры из процедуры по имени из строки |
| Автор: YanTsys 22.5.2009, 12:24 | ||
| Как из хранимой процедуру выполнить другую процедуру по ее имени в текстовой строке и потом получить обратно возвращаемый параметр? Что то вроде
|
| Автор: KostaPC 22.5.2009, 14:32 | ||
Что-то вроде этого. Просто не до конца понял что именно нужно сделать. |
| Автор: YanTsys 22.5.2009, 16:43 |
| Нужно имея несколько процедур разными именами и с одинаковым перечнем параметров "y_exe_proc0001" "y_exe_proc0002" "y_exe_proc0003" "y_exe_proc0004" "y_exe_proc0005" запустить одну из них и потом считать возвращенное значение. нужно разбить процедуру на большое количество различных способов ее выполнения так чтобы не делать аналог switch case 1 case 2 case 3 так как команда exec ("y_exe_proc0001") принимает текстовое название процедуры то дело только за возвратом параметров, а тут уперся лбом и никак... |
| Автор: KostaPC 22.5.2009, 16:57 | ||
| Может сделать в процедурах "y_exe_proc000X" OUT параметр ? Тогда вроде как дожно работать так:
|
| Автор: YanTsys 24.5.2009, 21:00 | ||
| Спасибо большое очень помогла ваша процедура sp_executesql Заработал такой тестовый код
Теперь остается только подставлять текстовое название процедуры. Теперь буду разбираться как запустить процедуру по какому нибудь системному идентификатору... Если разбираться с OBJECT_ID() это правильное направление поиска? |
| Автор: KostaPC 25.5.2009, 10:47 |
| Думаю правильное направление, хотя не могу точно сказать, не работал с OJECT_ID() более глубоко, чем проверка на существование объекта. |