关于sqlserver2008列的自动增长
有几种方式可以设置列的自动增长?除了IDENTITY(1,1)之外,还有别的吗?
最重要的是:insert一条数据以后,怎么返回这个字段的值?
我看到了好几种,不知道哪一个最安全、准确:
IDENT_CURRENT 函数返回为任何会话和任何作用域中的特定表最后生成的标识值。
@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。
谢谢大家!
------解决方案--------------------1.一般来说,使用identity(int,1,1)或手工设置自增列.
2.如果是多用户操作,哪个都不安全.所以我从来不用所谓的自增列.
------解决方案--------------------1. IDENTITY(1,1)可以设置自动增长. NEWSEQUENTIALID ()创建大于先前通过该函数生成的任何 GUID 的 GUID
2. 你插入一条数据以后,马上用 SCOPE_IDENTITY来获取插入的值.
------解决方案--------------------SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。
这个得到刚刚插入的自增值
其他的也应该会有其他用处
------解决方案--------------------没有吧。。。
------解决方案--------------------
------解决方案--------------------安全是指返回的值有可能不是当时增加的那条记录的值是不?
如果是这样的话,那还真不安全。除非提高数据库的隔离等级。或者自己写一个自动增长列了。
------解决方案--------------------IDENTITY(1,1)
------解决方案--------------------自动生成标识列
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------学习了。。。。。。。。。。。