Вставка в таблицу на другом сервере и @@IDENTITY

Бельчанин
Дата: 26.01.2009 11:00:58
MSSQL 2000 ...

INSERT [SERVER].BASE.dbo.TABLE(Field1, Field2)
VALUES(Var1, Var2)

@@IDENTITY и IDENT_CURRENT('[SERVER].BASE.dbo.TABLE') возвращают NULL

Как получить новое значение ?
alexeyvg
Дата: 26.01.2009 11:07:19
Бельчанин
@@IDENTITY и IDENT_CURRENT('[SERVER].BASE.dbo.TABLE') возвращают NULL
SCOPE_IDENTITY() тоже?

Если да, то делать на втором сервере процедуру.
Бельчанин
Дата: 26.01.2009 11:12:05
SCOPE_IDENTITY() тоже NULL ...
Glory
Дата: 26.01.2009 11:16:25
Через sp_executesql получится передать и вернуть значения
msLex
Дата: 26.01.2009 11:17:53
а если ч/з SERVER.BASE.dbo.sp_ExecuteSQL с output параметром?
Бельчанин
Дата: 26.01.2009 11:45:21
[SERVER].BASE.dbo.sp_executesql N'SELECT IDENT_CURRENT(''TABLE'')' - работает, спасибо !

немного раньше сделал так...

DECLARE @uid varchar(255), @newid integer

SET @uid=NEWID()
INSERT [SERVER].BASE.dbo.TABLE(Field1, Field2, UnicID)
VALUES(Var1, Var2, @uid)

SELECT @newid=ID
FROM [SERVER].BASE.dbo.TABLE
WHERE UnicID=@uid

Всем спасибо !!!