当前位置:首页 » 编程语言 » 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