資料庫生成連續編號 前幾位為零

2022-02-12 00:53:47 字數 1893 閱讀 5381

--

下面的**生成長度為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...