--
下面的**生成長度為8的編號,編號以bh開頭,其餘6位為流水號。
--得到新編號的函式
create
function
f_nextbh()
returns
char(8
)asbegin
return
(select'bh
'+right
(1000001
+isnull
(right
(max
(bh),6),
0),6)
from
tb with
(xlock,paglock))
endgo
--在表中應用函式
create
table
tb(bh
char(8
) primary
keydefault
dbo.f_nextbh(),
col
int)
--插入資料
begin
tran
insert
tb(col)
values(1
)insert
tb(col)
values(2
)insert
tb(col)
values(3
)delete
tb where
col=
3insert
tb(col)
values(4
)insert
tb(bh,col)
values
(dbo.f_nextbh(),14)
commit
tran
--顯示結果
select
*from
tb/*
--結果
bh col
---------------- -----------
bh000001 1
bh000002 2
bh000003 4
bh000004 14
--*/
另一種寫法;帶條件的
create procedure p_createcasenum
@unitid int
asdeclare @casenum char(10)
begin
if exists(select * from t_createcasenum where unitid=@unitid)
begin
update t_createcasenum set casenum=right('000000'+ltrim(convert(int,casenum)+1),6) where unitid=@unitid
set @casenum=(select casenum from t_createcasenum where unitid=@unitid)
select @casenum
return
endelse
begin
insert into t_createcasenum(unitid,casenum) values(@unitid,'000001')
set @casenum=(select casenum from t_createcasenum where unitid=@unitid)
select @casenum
return
endend
goid unitid casenum
1 1 00001
1 2 00004
1 3 00003
Access資料庫「自動編號」字段歸零
access資料庫 自動編號 資料型別是乙個非常實用的型別,它可以很方便地幫助我們完成標識不同記錄id的工作。但是由於jet引擎的特性 sql server使用t sql 當我們在access資料庫某張表中執行了刪除所有資料的操作後,被用來標識唯一id的字段將不再歸零 從頭開始計數 而是會繼續延續上...
Access資料庫中自動編號字段重置為1
在清空一張acess資料庫表後,在重新增資料之前,希望此表的自動編號能從1開始,怎麼辦呢?下面的方法告訴我們,除了通過轉存資料庫表的方法外,還有幾種更簡單的方法 方法一 前提 資料庫錶可帶內容進行自動編號更新 開啟資料庫,切換到 設計檢視 刪掉那個自動編號的字段,再建乙個同樣的自動編號字段即可。方法...
為資料庫重新生成log檔案
1.新建乙個同名的資料庫 2.再停掉sql server 注意不要分離資料庫 3.用原資料庫的資料檔案覆蓋掉這個新建的資料庫 4.再重啟sql server 5.此時開啟企業管理器時會出現置疑,先不管,執行下面的語句 注意修改其中的資料庫名 use master gosp configure all...