?? 5.2.2 使用編號(hào)表生成流水號(hào)的示例.sql
字號(hào):
--編號(hào)表
CREATE TABLE tb_NO(
Name char(2) PRIMARY KEY, --編號(hào)種類的名稱
Head nvarchar(10) NOT NULL DEFAULT '', --編號(hào)的前綴
CurrentNo int NOT NULL DEFAULT 0, --當(dāng)前編號(hào)
BHLen int NOT NULL DEFAULT 6, --編號(hào)數(shù)字部分長度
DESCRIPTION NVARCHAR(50)) --編號(hào)種類說明
INSERT tb_NO SELECT 'CG','CG',0,4,N'采購訂單'
UNION ALL SELECT 'CJ','CJ',0,4,N'采購進(jìn)貨'
UNION ALL SELECT 'JC','JC',0,4,N'進(jìn)倉單'
UNION ALL SELECT 'ZC','ZC',0,4,N'轉(zhuǎn)倉單'
UNION ALL SELECT 'CC','CC',0,4,N'出倉單'
GO
--獲取新編號(hào)的存儲(chǔ)過程
CREATE PROC p_NextBH
@Name char(2), --編號(hào)種類
@BH nvarchar(20) OUTPUT --新編號(hào)
AS
BEGIN TRAN
UPDATE tb_NO WITH(ROWLOCK) SET
@BH=Head+RIGHT(POWER(10,BHLen)+CurrentNo+1,BHLen),
CurrentNo=CurrentNo+1
WHERE Name=@Name
COMMIT TRAN
GO
--獲取 CJ 的新編號(hào)
DECLARE @bh char(6)
EXEC p_NextBH 'CJ',@bh OUT
SELECT @bh
--結(jié)果: CJ0001
EXEC p_NextBH 'CJ',@bh OUT
SELECT @bh
--結(jié)果: CJ0002
GO
--獲取 CC 的新編號(hào)
DECLARE @bh char(6)
EXEC p_NextBH 'CC',@bh OUT
SELECT @bh
--結(jié)果: CC0001
EXEC p_NextBH 'CC',@bh OUT
SELECT @bh
--結(jié)果: CC0002
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -