我想取insert成功的那条记录中的一个unique的值,怎么办

在oracle里用过sequence
这里该怎么办?
[38 byte] By [8960124-蜗牛快跑] at [2008-6-10]
# 1
你可能是指IDENTITY吧,如果是普通UNIQUE你刚插入应该知道的。
@@IDENTITY
也可以:
IDENT_CURRENT('table_name')
j9988-j9988 at 2007-10-24 > top of Msdn China Tech,MS-SQL Server,疑难问题...
# 2
用当前指针不太可靠吧
如果另一个客户端同时插一条呢
我想是不是该在insert前用 xx_next()
有没有这样的??
8960124-蜗牛快跑 at 2007-10-24 > top of Msdn China Tech,MS-SQL Server,疑难问题...
# 3
SQL Server 中@@IDENTITY全局变量是针对当前连接的,别的连接不影响当前连接的返回值,只要你不是多个线程共享一个SQL连接,保证你取回来的是正确的值。
你可以用查询分析器测试。
cacoda-睚眦必报 at 2007-10-24 > top of Msdn China Tech,MS-SQL Server,疑难问题...
# 4
SQL SERVER 有3种方法:
IDENT_CURRENT 类似于 Microsoft® SQL Server™ 2000 标识函数 SCOPE_IDENTITY 和 @@IDENTITY。这三个函数都返回最后生成的标识值。但是,它们在定义"最后"的作用域和会话上不同。

IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。

@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。

SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。
leimin-黄山光明顶 at 2007-10-24 > top of Msdn China Tech,MS-SQL Server,疑难问题...