當前位置:首頁 » 編程語言 » sql代碼規范
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql代碼規范

發布時間: 2022-09-29 00:22:08

sql存儲過程根據編碼規則生成編號

由於題設的要求不全,這里假設record為單據表,id為編號欄位,最大長度20,其中流水號長度最大為5位
create proc GenerateID
@const varchar(10), --@const作為規則變數的常數
@para char(1), --@para作為規則變數的參數
@date varchar(10), --@date作為規則變數的日期
@idLen int --@idLen作為規則變數的流水號長度
@Id varchar(20) output --@輸出id作為生成的編碼
AS
if @idLen>5
begin
print('流水號長度超過5位')
return
end
declare @maxId varchar(20), @iMaxId int, @lsh varchar(5),@cIdLen char(1)
--獲取最大單號
select @maxid=right(convert(varchar(20),max(id)),5) from record
set @iMaxId=convert(int,@maxid)
set @iMaxId=@iMaxId+1
set @cIdLen=convert(char(1),@idLen)
--生成預定長度的流水號
exec('set @lsh=right(convert(varchar(5),@iMaxid),'+@cIdLen+')')
--生成編碼
set @id=@const+@para+@date+@lsh