?? 5.2.2 使用編號表生成流水號的示例.sql
字號:
--編號表
CREATE TABLE tb_NO(
Name char(2) PRIMARY KEY, --編號種類的名稱
Head nvarchar(10) NOT NULL DEFAULT '', --編號的前綴
CurrentNo int NOT NULL DEFAULT 0, --當前編號
BHLen int NOT NULL DEFAULT 6, --編號數字部分長度
DESCRIPTION NVARCHAR(50)) --編號種類說明
INSERT tb_NO SELECT 'CG','CG',0,4,N'采購訂單'
UNION ALL SELECT 'CJ','CJ',0,4,N'采購進貨'
UNION ALL SELECT 'JC','JC',0,4,N'進倉單'
UNION ALL SELECT 'ZC','ZC',0,4,N'轉倉單'
UNION ALL SELECT 'CC','CC',0,4,N'出倉單'
GO
--獲取新編號的存儲過程
CREATE PROC p_NextBH
@Name char(2), --編號種類
@BH nvarchar(20) OUTPUT --新編號
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 的新編號
DECLARE @bh char(6)
EXEC p_NextBH 'CJ',@bh OUT
SELECT @bh
--結果: CJ0001
EXEC p_NextBH 'CJ',@bh OUT
SELECT @bh
--結果: CJ0002
GO
--獲取 CC 的新編號
DECLARE @bh char(6)
EXEC p_NextBH 'CC',@bh OUT
SELECT @bh
--結果: CC0001
EXEC p_NextBH 'CC',@bh OUT
SELECT @bh
--結果: CC0002
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -