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

Откуда:
Сообщений: 92
Есть два слинкованных сервера.
Необходимо узнать значение переменной @@spid запросом на связанный сервер.
Посредством SQL Query Analzer выполняю команду:

exec TEST.master.dbo.sp_executesql N'select @@spid'

И получаю требуемый результат, но вопрос в том чтобы инициализировать переменную, для чего выполняю:

declare @nspid int
CREATE TABLE #tspid (nspid int null)
insert into #tspid (nspid)
exec DIASOFT.master.dbo.sp_executesql N'select @@spid'
select @nspid = nspid from #tspid (nolock)
DROP TABLE #tspid

И вот тут все повисает :(
Подскажите как можно решить проблемку?
19 окт 09, 15:04    [7805878]     Ответить | Цитировать Сообщить модератору
 Re: Проблемка sp_executesql  [new]
Glory
Member

Откуда:
Сообщений: 104760
avk_soft
Есть два слинкованных сервера.
Необходимо узнать значение переменной @@spid запросом на связанный сервер.
Посредством SQL Query Analzer выполняю команду:

exec TEST.master.dbo.sp_executesql N'select @@spid'

И получаю требуемый результат, но вопрос в том чтобы инициализировать переменную, для чего выполняю:


sp_executesql [ @stmt = ] stmt
[ 
    {, [@params=] N'@parameter_name data_type [ OUT | OUTPUT ][,...n]' } 
     {, [ @param1 = ] 'value1' [ ,...n ] }
]
19 окт 09, 15:17    [7805998]     Ответить | Цитировать Сообщить модератору
 Re: Проблемка sp_executesql  [new]
avk_soft
Member

Откуда:
Сообщений: 92
Уважаемый Glory может еще подскажет, а то что-то не получается.
Выполняю:

declare @nspid int
execute TEST.master.dbo.sp_executesql
N'select @nspid = @@SPID',
N'@nspid int OUTPUT',
@nspid
select @nspid

Работает без ошибок, но возвращает NULL
Кстати при вызове на локальном сервере "execute sp_executesql" тоже результат NULL
19 окт 09, 15:39    [7806178]     Ответить | Цитировать Сообщить модератору
 Re: Проблемка sp_executesql  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
Найдите 10 отличий:

declare @nspid int
execute TEST.master.dbo.sp_executesql
N'select @nspid = @@SPID',
N'@nspid int OUTPUT',
@nspid output
select @nspid
19 окт 09, 15:39    [7806182]     Ответить | Цитировать Сообщить модератору
 Re: Проблемка sp_executesql  [new]
avk_soft
Member

Откуда:
Сообщений: 92
Спасибо Сергей Алексеевич. Что-то заработался :)
19 окт 09, 16:07    [7806429]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить