sql server 中,可以使用 scope_identity()、 @@identity 、 ident_current() 來取得最後插入記錄的值值,它們的區別在於:
scope_identity() 返回插入到同一作用域中的 identity 列內的最後乙個 identity 值。乙個作用域就是乙個模組--儲存過程、觸發器、函式或批處理。因此,如果兩個語句處於同乙個儲存過程、函式或批處理中,則它們位於相同的作用域中。
@@identity 返回在當前會話的所有表中生成的最後乙個標識值
ident_current() 返回為任何會話和任何作用域中的指定表最後生成的標識值
create procedure [dbo].[prinsertcustomarea]
@areaname nvarchar(50),
@userid int,
@corpid int,
@areaweblatlon varchar(4000),
@remark nvarchar(50),
@centerweblatlon nvarchar(50),
@centerlatlon nvarchar(50),
@imageurl nvarchar(100),
@areawidth float,
@areahigh float,
@acreage float,
@minlat numeric(9, 6),
@minlon numeric(9, 6),
@maxlat numeric(9, 6),
@maxlon numeric(9, 6),
@arealatlon varchar(5000),
@o_return int output --宣告out引數
asbegin
declare @id int;
-- set nocount on added to prevent extra result sets from
-- interfering with select statements.
set nocount on;
insert into customarea(areaname,userid,corpid,arealatlon,areaweblatlon,remark,
centerweblatlon,centerlatlon,imageurl,areawidth,areahigh,acreage)
values(@areaname,@userid,@corpid,'',@areaweblatlon,@remark,
@centerweblatlon,@centerlatlon,@imageurl,@areawidth,@areahigh,@acreage)
select @id = ident_current('customarea');--需要傳遞表名
insert into customarealatlon(minlat,minlon,maxlat,maxlon,inputtime,areaid,arealatlon)
values(@minlat,@minlon,@maxlat,@maxlon,getdate(),@id,@arealatlon);
set @o_return = @@error--給out引數賦值
--@@error 表示執行儲存過程返回的錯誤**,0代表成功,否則,返回錯誤**;
end
gridview中獲取主鍵的值
gridview中獲取主鍵的值 gridview1 rowcommand,gridview1 pageindexchanging,gridview1 rowdeleting.在 gridview1 rowcommand中獲取主鍵的值 protected void gridview1 rowcomma...
DateTime做主鍵的獲取 一
前不久,做了乙個表,是datetime做主鍵的 實時資訊 出現的問題 唯一的一條資料查不出.現在以資料字段叫做 realdate為例 第一步 象 where realdate 2005 02 02 這樣,就查不出.因為一定要精確到毫秒 資料庫預設的是毫秒 發生這個問題的原因是 從介面上的日曆控制項得...
ibatis 獲取自增長的主鍵
一 mysql 1 設定主鍵為自增長,插入的時候可以插入null或者直接不插入,即可完成主鍵的自增長 2 插入完成以後需要獲取新增的主鍵,可以使用select last insert id 來獲取,使用方式參照 insert into customer address,postcode,name v...