Get identity value from currentsql

instr="INSERT INTO dictionary(upid)VALUES (6) select @@IDENTITY AS 'newid'"; //注意後面的語句
objCmd.CommandText=instr;
SqlDataReader objReader1=objCmd.ExecuteReader();
objReader1.NextResult();
if(objReader1.Read())
{
Response.Write(objReader1.GetValue(0));//返回的標識值
Response.End();
}


@@IDENTITY
返回最後插入的標識值。

語法
@@IDENTITY

返回類型
numeric

註釋
在一條 INSERT、SELECT INTO 或大容量複製語句完成後,@@IDENTITY 中包含此語句產生的最後的標識值。若此語句沒有影響任何有標識列的表,則 @@IDENTITY 返回 NULL。若插入了多個行,則會產生多個標識值,@@IDENTITY 返回最後產生的標識值。如果此語句激發一個或多個執行產生標識值的插入操作的觸發器,則語句執行後立即調用 @@IDENTITY 將返回由觸發器產生的最後的標識值。若 INSERT 或 SELECT INTO 語句失敗或大容量複製失敗,或事務被回滾,則 @@IDENTITY 值不會還原爲以前的設置。

在返回插入到表的 @@IDENTITY 列的最後一個值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函數類似。

@@IDENTITY 和 SCOPE_IDENTITY 將返回在當前會話的所有表中生成的最後一個標識值。但是,SCOPE_IDENTITY 只在當前作用域內返回值,而 @@IDENTITY 不限於特定的作用域。

IDENT_CURRENT 不受作用域和會話的限制,而受限於指定的表。IDENT_CURRENT 返回任何會話和任何作用域中爲特定表生成的標識值。有關更多信息,請參見 IDENT_CURRENT。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章