SQL自動生成流水號

select convert(char(6),getdate(),12)

--下面的代碼生成長度爲8的編號,編號以BH開頭,其餘6位爲流水號。
--得到新編號的函數
CREATE FUNCTION f_NextBH()
RETURNS char(8)
AS
BEGIN
--從表裏得到最大值加個1000001就增一個1
 RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))
END
GO

--在表中應用函數
CREATE TABLE tb(
BH char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(),
col int)

建腳本 .bat  ,內容如下

osql /E /d"TestDB" /Q"declare @i int set @i = 0 while @i<=1000 begin insert tb(col) values(@i) set @i = @i+1 end"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章