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

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

sql語句返回主鍵SCOPE_IDENTITY()

2020-07-25 13:20:43
字體:
供稿:網(wǎng)友
在sql語句后使用
SCOPE_IDENTITY()

當然您也可以使用 SELECT @@IDENTITY

但是使用 SELECT @@IDENTITY是去全局最新. 有可能取得值不正確.

示例:
復制代碼 代碼如下:

insert into dbo.SNS_BlogData(userName) values('jiangyun') ;
SELECT SCOPE_IDENTITY()

獲取SQL-SERVER數(shù)據(jù)庫insert into操作的主鍵返回值,SCOPE_IDENTITY

插入一條記錄后想要立刻獲取其數(shù)據(jù)表中的主鍵返回值。這個主鍵是自動生成的,其實實現(xiàn)的方式有很多,比如再進行一次查詢,獲取出來。或者在插入數(shù)據(jù)之前取 出最大值,在最大值上面加一等等,方法很多,但是有些很不方便。
個人感覺最快的方式就是,在插入數(shù)據(jù)后直接獲取主鍵的值,然后返回過來。
方法如下:
sql語句如下:
INSERT INTO tableName (fieldname ...) values (value ...) SELECT @@IDENTITY AS returnName;
在sql語句中加入SELECT @@IDENTITY AS returnName;用來獲取主鍵的值
在程序中 獲取返回值:
復制代碼 代碼如下:

public int sqlexecutereader(string sql)
{
DBopen();
SqlCommand myComm = new SqlCommand(sql, Connection);
int newID = Convert.ToInt32(myComm.ExecuteScalar());
DBclose();
return newID;
}

當然在此處主鍵是int類型的自動增加的。DBopen();DBclose();的操作在此就 不多說了。

select SCOPE_IDENTITY()

返回上面操作的數(shù)據(jù)表最后row的IDENTITY 列的值;

返回插入到同一作用域中的 IDENTITY 列內(nèi)的最后一個 IDENTITY 值。一個作用域就是一個模塊――存儲過程、觸發(fā)器、函數(shù)或批處理。因此,如果兩個語句處于同一個存儲過程、函數(shù)或批處理中,則它們位于相同的作用域中。

SELECT @@IDENTITY

返回上面操作最后一個數(shù)據(jù)表的最后row的IDENTITY 列的值;
創(chuàng)建表:

create table T_User(F_ID int identity(1,1) not null,F_Name varchar(20) not null)
插入數(shù)據(jù):

insert into T_User(F_Name) values('我是誰') Select SCOPE_IDENTITY()
存儲過程:

CREATE PROCEDURE [dbo].[sp_User](@F_Name int) AS
begin tran Insertinto_T_User
Insert into dbo.T_User(F_Name) values(@F_Name)
Select SCOPE_IDENTITY()
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 文水县| 青冈县| 霍城县| 漾濞| 濮阳市| 沅陵县| 璧山县| 威远县| 宜兴市| 玛纳斯县| 米易县| 黎平县| 乳山市| 惠来县| 涪陵区| 景洪市| 青神县| 巴马| 荃湾区| 桂平市| 离岛区| 乐昌市| 句容市| 天长市| 陇西县| 道孚县| 甘孜| 双鸭山市| 济南市| 永顺县| 九寨沟县| 承德市| 阳新县| 车致| 凤山市| 仙居县| 昆明市| 和硕县| 文水县| 宽城| 三穗县|