1. 程式人生 > 實用技巧 >(4.53)sql server自增列identity,sql server獲取自增列值

(4.53)sql server自增列identity,sql server獲取自增列值

【1】概念

【1.1】IDENT_CURRENT('tab_name')

  返回為任何會話和任何作用域中的特定表最後生成的標識值。

  IDENT_CURRENT 不受作用域和會話的限制,而受限於指定的表。

【1.2】@@IDENTITY

  返回為當前會話的所有作用域中的任何表最後生成的標識值。

【1.3】SCOPE_IDENTITY()

  返回為當前會話和當前作用域中的任何表最後生成的標識值 SCOPE_IDENTITY() 和 @@IDENTITY 返回在當前會話中的任何表內所生成的最後一個標識值。

  但是,SCOPE_IDENTITY 只返回插入到當前作用域中的值;@@IDENTITY 不受限於特定的作用域。

【2】案例

if object_id('ttest1') is not null
    drop table ttest1;
create table ttest1(id int identity(1,1),num int);
insert into ttest1 values(1);
select SCOPE_IDENTITY(),IDENT_CURRENT('ttest1'),@@IDENTITY
insert into ttest1 values(1); select SCOPE_IDENTITY(),IDENT_CURRENT('ttest1'),@@IDENTITY