Форум: "Базы";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
ВнизMSSQL2000 Как передать в процедуру имя таблицы в виде строки? Найти похожие ветки
← →
kreyl (2005-09-08 19:47) [0]Подскажите, пожалуйста, возможно ли следующее.
Нужна процедура вида
Create sp_myProc
@TableName varchar(20)
AS
DECLARE @MyVar int
SELECT @MyVar = MAX(value) FROM [@TableName]
То есть, нужно передать в процедуру имя таблицы в виде символьной строки (или еще как-то), потом из этой таблицы выбрать данные, потом еще что-то над ними проделать.
EXEC не подходит, поскольку из него не удается передать данные наружу (и наоборот ):
EXEC ("SELECT @MyVar = MAX(value) FROM "+@TableName) - @MyVar не определено внутри EXEC.
То есть, можно через EXEC, но с применением временных таблиц - но тогда объем кода возрастает чудовищно...
Или, может, возможно передавать в процедуру или функцию таблицу как аргумент:
CREATE sp_MyProc
@TempTable table(value int)
...
Есть ли пути?
← →
AlexWlad © (2005-09-08 19:59) [1]Смотри в BOL оператор exec.
← →
Nikolay M. © (2005-09-08 20:03) [2]http://www.sql.ru/faq/faq_topic.aspx?fid=104
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c