解決ms serer 2000 最大流水號問題

2021-04-01 22:24:53 字數 1289 閱讀 5129

方案一:使用scope_identity取得剛剛插入的最大流水號

/*建立traddeinfo表各相關索引,注意trade_id欄位必段是identity型*/

create table tradeinfo(trade_id int identity(1,1),tdtime datetime tdname varchar(20))

create index idx_trade_id on tradeinfo(trade_id)

/*使用scope_identity()中斷函式,取得當前指令碼範圍內最後insert進去的identity值*/

declare @mytradeid int

set @mytradeid=0

begin transaction

insert into tradeinfo values(getdata(),'test')

select @mytradeid = scope_identite()

commit transaction

/*把@mytradeid 變數中存放的流水號顯示出來*/

select @mytradeid

方案二:結合uniqueidentifier和identity取得最大流水號

/*建立輔助表 id欄位是identity型別,global_id是gudi型別*/

cretate table max_tradeid(id int identity(1,1),global_id uniqueidenfier)

/*建立索引以加速後面的select 語句*/

create index idx_guid on max_trade_id(global_id)

declare @mytradeid int.,@myglobal_id uniqueidentifier

set @mytradeid = e-1

/*利用newid ()函式取得乙個全域性叭一guid .由於guid的特性,不用別的併發程序會產生同樣的guid值 */

jselect @myglobal_id = newid()

insert into max_trade_id values(@myglobl_id)

/*使用全域性唯一guid得到剛剛插入的id值*/

select @mytradeid = id from max_trade_id  where globl_id =@myglobal _id

selecgt @mytradeid

這種方法的好處是 它的併發性好,不會引起阻在塞,而且保證了insert語句肯定執行成功,這種方法的缺點是多乙個guid

2023年 乘積最大

乘積最大 題目描述 今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手...

NOIP2000 乘積最大

題二 乘積最大 22分 問題描述 今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數...

Noip 2000 乘積最大

今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手使用k個乘號將它分成...