![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переменные в имени таблице (... FROM @myvar) [D6, MSSQL]
AndyM © (2002-05-10 15:23:00)Hi ALL!!!
Вот такой вопросик мне нужно организовать примерно вот что:
в хранимую процедуру передается имя таблицы (в переменную @table_name).
в теле процедуры предположим это:
DECLARE @max_id tid
SELECT @max_id = MAX(Id) FROM @table_name
и далее мне нужно в зависимости от значения @max_id что то сделать.
как это можно реализовать??? ведь нельзя в имени таблицы указывать переменную.
пробовал: EXEC("SELECT @max_id = MAX(Id) FROM "+@table_name)
говорит нет переменной @max_id
тогда: EXEC("DECLARE @max_id bigint SELECT @max_id = MAX(Id) FROM "+@table_name)
работает... но нельзя получить значение переменной @max_id...
Delirium (2002-05-10 17:11:00) [1]Можно и так, а если не уверен - Enterprise Manager -> Security -> Linked Servers
AndyM (2002-05-10 16:48:00) [2]т.е. если мой сервер называется AAA
то как сделать LocalServer?
EXEC sp_addlinkedserver @server="LocalServer", @srvproduct="", @provider="SQLOLEDB", @datasrc="AAA"
так?
Delirium (2002-05-10 16:17:00) [3]сделай так :
DECLARE @max_id bigint
select @max_id=Max_Id
from OpenQuery(LocalServer,"SELECT MAX(Id) as Max_ID FROM "+@table_name)
где LocalServer - liked server сам к себе