1、在服务器 [192.168.10.123]上,创建表
CREATE TABLE [dbo].[t](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) NULL
) ON [PRIMARY]
在服务器 192.168.10.108上创建视图:
Create VIEW [dbo].[v1]
AS
SELECT      *
FROM         .LogDB.dbo.tGO 
在服务器 192.168.10.108执行sql:
exec sp_executesql N'INSERT INTO v1(name) values(@name)
 ; SELECT [SearchGIMLogID] = SCOPE_IDENTITY()',
N'@name varchar(20)',@name=N'test'
 返回:
SearchGIMLogID
NULL
插入记录后,获取不到刚插入的这条记录的id的值。
求原因~~
SQL

解决方案 »

  1.   

    http://blog.csdn.net/dba_huangzj/article/details/7685162你看看我的文章先
      

  2.   

    lz 还是现在上边的文章吧
    select IDENT_CURRENT('tablename')
      

  3.   

    select @@IDENTITY 这个也不可以,之前已经尝试过了。
      

  4.   

    DBA_Huangzj 版主,你的文章里说的和我说的不是一个问题。如果是同一个库中的视图,这种insert 语句,是能够获取插入的记录的ID的。
    但是视图关联的表,如果不在一个服务器上的时候,获取不到了。
    我是需要解决这个问题。
      

  5.   

    晕,下次引用一下,我都不知道你回复我了。你试试用IDENT_CURRENT这个函数看看能不能获取