使用Microsoft SQL Server 2012,我必须获取identity
列的下一个ID,将其设置为其他表并返回。
这就是我认为可以做到的:
declare @NeededID as bigint
select @NeededID = IDENT_INCR('Table1')
update Table2
set NeededID = @NeededID
where ID = @SomeID
return @NeededID
但是当我尝试这个时,@NeededID
总是一样的,我希望它会增加。
更具体一点,我想获得表的Identity
列的nextval(Oracle)。
我该怎么做?
答案 0 :(得分:0)
好的,既然你终于开始给我们一些你实际想要完成的任务了,为什么不试试呢:
Table1
SCOPE_IDENTITY
获取ID并将其插入Table2
Table1
您已经掌握了差距,并且您已获得了正确的身份价值。
答案 1 :(得分:-2)
Declare @NextID BigInt
Select @NextID = IsNull(Max(ID), 1) + 1
From Your_Table
以上查询工作只有一切都很好。 最好的选择是:
DBCC CheckIdent('Table_name')