国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

使用SQL Server 獲取插入記錄后的ID(自動編號)

2024-08-31 00:57:30
字體:
供稿:網(wǎng)友
最近在開發(fā)項目的過程中遇到一個問題,就是在插入一條記錄的后要立即獲取所在數(shù)據(jù)庫中ID,而該ID是自增的,怎么做?在sql server 2005中有幾種方式可以實現(xiàn)。
要獲取此ID,最簡單的方法就是在查詢之后select @@indentity
--SQL語句創(chuàng)建數(shù)據(jù)庫和表

復制代碼 代碼如下:


create database dbdemo
go
use dbdemo
go
create table tbldemo
(
id int primary key identity(1,1),
name varchar(20)
)
go


--執(zhí)行下面SQL語句就能查出來剛插入記錄對應的自增列的值
insert into tbldemo values('測試') select @@identity
SQL Server 2000中,有三個比較類似的功能:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它們都返回插入到 IDENTITY 列中的值。

1)IDENT_CURRENT 返回為任何會話和任何作用域中的特定表最后生成的標識值,它不受作用域和會話的限制,而受限于所指定的表。
2)@@IDENTITY返回為當前會話的所有作用域中的任何表最后生成的標識值。
3) SCOPE_IDENTITY 返回為當前會話和當前作用域中的任何表最后生成的標識值。

SCOPE_IDENTITY 和 @@IDENTITY 返回在當前會話中的任何表內(nèi)所生成的最后一個標識值。但是,SCOPE_IDENTITY 只返回插入到當前作用域中的值;@@IDENTITY 不受限于特定的作用域。
例如,有兩個表 T1 和 T2,在 T1 上定義了一個 INSERT 觸發(fā)器。當將某行插入 T1 時,觸發(fā)器被激發(fā),并在 T2 中插入一行。此例說明了兩個作用域:一個是在 T1 上的插入,另一個是作為觸發(fā)器的結(jié)果在 T2 上的插入。

假設 T1 和 T2 都有 IDENTITY 列,@@IDENTITY 和 SCOPE_IDENTITY 將在 T1 上的 INSERT 語句的最后返回不同的值。@@IDENTITY 返回插入到當前會話中任何作用域內(nèi)的最后一個 IDENTITY 列值,該值是插入 T2 中的值。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西盟| 原平市| 永城市| 龙海市| 梅河口市| 徐水县| 延长县| 吉木萨尔县| 崇左市| 博罗县| 逊克县| 莒南县| 格尔木市| 湾仔区| 响水县| 广州市| 团风县| 金川县| 开封县| 绵阳市| 秭归县| 崇信县| 旺苍县| 安塞县| 普陀区| 曲沃县| 惠州市| 阳西县| 江孜县| 佛山市| 丹棱县| 隆化县| 满洲里市| 玉田县| 靖江市| 建德市| 神木县| 万年县| 托克托县| 安顺市| 石河子市|