Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Присвоение переменной, чисто синтаксис (вызов функции с linked server...)  [new]
f50
Member

Откуда: Россия
Сообщений: 456
Здравствуйте!

Есть связанный сервер, на нем ф-я, вот так с неё значение получаю:
exec ('SELECT master.dbo.GetActualLayer(''20131003'')') at [MSSQLSERVER2008]


Хотелось бы значение в переменную получить, для дальнейшей работы, но не получается так присвоить значение:
DECLARE @ret_value int
SET @ret_value = exec ('SELECT master.dbo.GetActualLayer(''20131003'')') at [MSSQLSERVER2008]


Подскажите, как правильно присвоить?
18 окт 13, 08:58    [14995385]     Ответить | Цитировать Сообщить модератору
 Re: Присвоение переменной, чисто синтаксис (вызов функции с linked server...)  [new]
Glory
Member

Откуда:
Сообщений: 104751
f50
Подскажите, как правильно присвоить?

Изучить синтаксис exec () по хелпу
18 окт 13, 09:27    [14995579]     Ответить | Цитировать Сообщить модератору
 Re: Присвоение переменной, чисто синтаксис (вызов функции с linked server...)  [new]
f50
Member

Откуда: Россия
Сообщений: 456
Точно, в хелп не подумал залесть :)
DECLARE @retstat int;
EXECUTE @retstat = SQLSERVER1.AdventureWorks.dbo.uspGetEmployeeManagers @EmployeeID = 6;

+ в функцию на уд. сервере параметры передавать без скобок, а на локальном сервере в скобках.
18 окт 13, 09:51    [14995775]     Ответить | Цитировать Сообщить модератору
 Re: Присвоение переменной, чисто синтаксис (вызов функции с linked server...)  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
DECLARE @ret_value int
exec ('SELECT ? = master.dbo.GetActualLayer(''20131003'')', @ret_value output) at [MSSQLSERVER2008]
18 окт 13, 09:54    [14995801]     Ответить | Цитировать Сообщить модератору
 Re: Присвоение переменной, чисто синтаксис (вызов функции с linked server...)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Execute a pass-through command against a linked server
{ EXEC | EXECUTE }
( { @string_variable | [ N ] 'command_string [ ? ] ' } [ + ...n ]
[ { , { value | @variable [ OUTPUT ] } } [ ...n ] ]
)
[ AS { LOGIN | USER } = ' name ' ]
[ AT linked_server_name ]
[;]
18 окт 13, 09:54    [14995804]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить