棄用數(shù)據(jù)庫自增ID的解決方法
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
解決思路
1).定義一張表,專門用來存放存所有需要唯一ID的表名稱以及該表當(dāng)前所使用到的ID值。 2).寫一個存儲過程,專門用來在上一步的表中取ID值。 這個思路非常簡單,我不作解釋了,直接來看看我的實現(xiàn)方法: 第一步:創(chuàng)建表 程序代碼 create table table_key ( table_name varchar(50) not null primary key, key_value int not null ) 第二步:創(chuàng)建存儲過程來取自增ID 程序代碼 create procedure up_get_table_key ( @table_name varchar(50), @key_value int output ) as begin begin tran declare @key int --initialize the key with 1 set @key=1 --whether the specified table is exist if not exists(select table_name from table_key where table_name=@table_name) begin insert into table_key values(@table_name,@key) --default key vlaue:1 end -- step increase else begin select @key=key_value from table_key with (updlock) where table_name=@table_name set @key=@key+1 --update the key value by table name update table_key set key_value=@key where table_name=@table_name end --set ouput value set @key_value=@key --commit tran commit tran if @@error>0 rollback tran end 作者原文 1).棄用數(shù)據(jù)庫自增ID,曝光一下我自己用到的解決方法 http://www.cnblogs.com/repository/archive/2011/01/17/1937265.html 2).棄用數(shù)據(jù)庫自增ID,曝光一下我自己用到的解決方法之---終結(jié)篇 http://www.cnblogs.com/repository/archive/2011/01/20/1939450.html 該文章在 2011/3/12 23:02:20 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |