Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.23;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
14-1128218710
Deep
2005-10-02 06:05
2005.10.23
Просьба к владельцам КПК


3-1126247046
kreyl
2005-09-09 10:24
2005.10.23
Как остановить выполнение длинного запроса?


2-1127999970
Гарри Шалфеевичь
2005-09-29 17:19
2005.10.23
Как найти ПОСЛЕДНИЙ пробел в строке?


14-1127894895
WonderfulDay
2005-09-28 12:08
2005.10.23
Нужен учебник по access.


3-1126612004
ilya_ae
2005-09-13 15:46
2005.10.23
Фотографии с БД