佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > sql語(yǔ)句返回主鍵SCOPE_IDENTITY()

sql語(yǔ)句返回主鍵SCOPE_IDENTITY()

熱門標(biāo)簽:AI電銷 鐵路電話系統(tǒng) Linux服務(wù)器 網(wǎng)站排名優(yōu)化 服務(wù)外包 地方門戶網(wǎng)站 呼叫中心市場(chǎng)需求 百度競(jìng)價(jià)排名
在sql語(yǔ)句后使用
SCOPE_IDENTITY()

當(dāng)然您也可以使用 SELECT @@IDENTITY

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

示例:
復(fù)制代碼 代碼如下:

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

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

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

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

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

select SCOPE_IDENTITY()

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

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

SELECT @@IDENTITY

返回上面操作最后一個(gè)數(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('我是誰(shuí)') Select SCOPE_IDENTITY()
存儲(chǔ)過程:

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()

標(biāo)簽:黃山 湖南 衡水 崇左 銅川 蘭州 仙桃 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sql語(yǔ)句返回主鍵SCOPE_IDENTITY()》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    罗源县| 炉霍县| 阳曲县| 江西省| 道孚县| 海丰县| 东兰县| 丽江市| 德格县| 绥棱县| 陆良县| 石首市| 阜康市| 武邑县| 睢宁县| 万州区| 洛阳市| 攀枝花市| 广昌县| 德庆县| 扎囊县| 鹤庆县| 八宿县| 和田市| 莎车县| 青铜峡市| 镇宁| 忻州市| 洛浦县| 拉孜县| 永城市| 新绛县| 融水| 连城县| 巴中市| 亳州市| 喜德县| 宁夏| 阿鲁科尔沁旗| 南昌市| 原阳县|