一个csdn里面没有解决的问题(@@identity ), 高分求解,不够可以再加,谢谢!!!!!! @@IDENTITY returns the last identity value generated for any table in thecurrent session, across all scopes. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 获取某个表最后生成的标识值,有三种办法:1。IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。2。@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。3。SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。(防止返回触发器中的insert的IDENTITY值) 一般来说,使用@@IDENTITY 就可以满足需求,我用了这么久,还没碰到你说的问题,如果出现你说的问题,是不是因为你执行插入的语句和检索最后标识值的语句不在同一个会话中呢?如果是那样,就只能使用第一种方法了。也有可能你在插入操作后有作了其它插入语句,如果第二条插入语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。情况有很多种可能,建议你把出问题的sql语句贴出来,表示一下你问问题的诚意。 我试过,用存储过程时可以的,不过使用Delphi或其他工具做开发是使用ClientDataset控件,在ClientDataset.insert后,用SELECT @@IDENTITYAS Id 来取这个值的,每次得到的值都是0,在这种情况下应该如何解决 你使用客户端的数据控件,做的添加删除操作,都放在客户端的内存中,在没有最后送往服务器时,都不会在数据库中生效。你取@@IDENTITY值当然也就取不到了。 你insert之后,有没有一直保持client和DB Server的连接?如果断开了再select,当然select不到那 不用那些自动提交的控件,用SQL语句直接提交,IDENT_CURRENT和SCOPE_IDENTITY在6.5没有,如果你的表有触发器,而且触发器里有插入其他有自动ID的表的语句,那@@IDENTITY 取不到正确的数,这个问题不知道有没有人在6.5下能解决! jobs2001(建筑师) (2001-12-29 10:21:24) 我试过,用存储过程时可以的, 不过使用Delphi或其他工具做开发是 使用ClientDataset控件,在ClientDataset.insert后,用SELECT @@IDENTITY AS Id 来取这个值的,每次得到的值都是0,在这种情况下应该如何解决调用存储过程后返回值不可以么? 如何跨服务器更新? Reproting Servers报表SQL查询语句 过滤出重复数据 一个菜鸟问题 谢谢 MSSQL中没有date()函数,能否有什么代替 关于查询的困扰!请高手帮忙! sql2000 查询语言题目 高人请指点 在SQL Server2000下,如何将数据导出成XML文件? 求救,装SQL SERVER2000时候,又遇到的新问题 MS-SQL Server 的字段长度怎样定? 请问各位高人一个sql server自动维护的问题?谢谢指教! SQLSERVER7。0数据库的恢复的问题
1。IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。
2。@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
3。SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。(防止返回触发器中的insert的IDENTITY值) 一般来说,使用@@IDENTITY 就可以满足需求,我用了这么久,还没碰到你说的问题,如果出现你说的问题,是不是因为你执行插入的语句和检索最后标识值的语句不在同一个会话中呢?如果是那样,就只能使用第一种方法了。也有可能你在插入操作后有作了其它插入语句,如果第二条插入语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。情况有很多种可能,建议你把出问题的sql语句贴出来,表示一下你问问题的诚意。
不过使用Delphi或其他工具做开发是
使用ClientDataset控件,在ClientDataset.insert后,用SELECT @@IDENTITY
AS Id 来取这个值的,每次得到的值都是0,在这种情况下应该如何解决
IDENT_CURRENT和SCOPE_IDENTITY在6.5没有,如果你的表有触发器,而且触发器里有插入其他有自动ID的表的语句,那@@IDENTITY 取不到正确的数,这个问题不知道有没有人在6.5下能解决!
我试过,用存储过程时可以的,
不过使用Delphi或其他工具做开发是
使用ClientDataset控件,在ClientDataset.insert后,用SELECT @@IDENTITY
AS Id 来取这个值的,每次得到的值都是0,在这种情况下应该如何解决调用存储过程后返回值不可以么?