SQLServer最大流水號的解決方法
問:請問怎樣才能解決ms serer 2000 最大流水號的問題?
答:我可以介紹兩種方法給你:
方法1:使用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
方案2:結合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。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-566622/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sqlserver linked server指向Excel報錯編號為7399和7303的解決方法SQLServerExcel
- JDBC無法用SSL連線SqlServer2008的解決方法JDBCSQLServer
- Sqlserver 登入報錯Server is in script upgrade mode(Error 18401)的解決方法SQLServerError
- Dynamics CRM 圖表超出最大記錄限制的解決方法
- sql 流水號的遞增SQL
- 撥號VPS中691的可能原因及解決方法?
- SqlServer鎖表解鎖解決辦法SQLServer
- netstat -ano檢視埠號無效解決方法
- 關於谷歌賬號註冊手機號無法驗證的解決方法谷歌
- 查詢SQLSERVER版本號SQLServer
- Sqlserver作業系統使用者Administrator本地登陸SSMS報錯18456的解決方法SQLServer作業系統SSM
- TabError的解決方法Error
- win10系統印表機出現感嘆號的解決方法Win10
- SQLServer資料庫恢復掛起的解決辦法SQLServer資料庫
- win10wifi訊號差怎麼恢復_win10wifi訊號差的解決方法Win10WiFi
- Sqlserver關於備份報錯提示某個資料檔案不線上it is not online的解決方法SQLServer
- win10系統9008驅動感嘆號的最佳解決方法Win10
- SqlServer資料庫中文亂碼問題解決SQLServer資料庫
- SQLServer附加資料庫是隻讀模式的解決辦法SQLServer資料庫模式
- Sqlserver並行等待CXPACKET、CXCONSUMER問題的解決思路和案例SQLServer並行
- SqlServer運維——最大伺服器記憶體SQLServer運維伺服器記憶體
- win10 wifi訊號不穩定如何修復_win10 wifi訊號不好的解決方法Win10WiFi
- sqlserver建立linked server到redshift的方法SQLServer
- sqlserver 資料庫收縮的方法SQLServer資料庫
- mssql sqlserver 表增加列後,檢視不會自動更新相關列的兩種解決方法分享SQLServer
- dns劫持怎麼解決 dns劫持的解決方法DNS
- sqlserver查詢長括號[資料SQLServer
- 向SQLServer插入單引號問題SQLServer
- 在RedHat虛擬機器下單/雙引號打不出來的解決方法Redhat虛擬機
- windows10系統開機後顯示器無訊號的解決方法Windows
- 遇到問題的解決方法
- 解決動態庫的符號衝突符號
- Golang協程無法固定goroutine的最大數目解決Golang
- hp-unix作業系統root賬號被鎖定的兩種解決方法:作業系統
- sqlserver資料庫埠號怎麼修改SQLServer資料庫
- 解決sqlserver限制2G記憶體限制安裝SQLServer記憶體
- Datagrip連線SQLserver表中出現中文亂碼解決方案SQLServer
- 填報流水號,預設表示式設定
- 解決UILable標點符號居中的問題UI符號