SQL Server自动生成流水码,前缀+日期+流水码
时 间:2018-07-06 08:13:56
作 者:缪炜 ID:24010 城市:江阴
摘 要:数据库表单流水码单号应用
正 文:
-- ============================================= -- Create author: bob <hy12.com> -- Create date: <2015-04-24> -- Description: <自动生成流水码,前缀+日期+流水码> -- 日期模式: 0 年月日 e.g.:150424 -- 1 年月 e.g.:1504 -- 2 年 e.g.:15 -- ============================================= Create PROCEDURE [dbo].[AutoNo] ( @prefix varchar(10), --前缀字母 @mode int, --日期模式 @nolen varchar(10), --流水号长度 @listna varchar(20), --流水单号对应的列名,建议索引 @tablena varchar(20),--表名 @runningnum varchar(20) output)--生成流水码 AS BEGIN SET NOCOUNT ON; declare @sql nvarchar(200) declare @num int if (@mode=0) begin --查询表获取当天最大流水号语句,当日期模式为年月日 set @sql = 'select isnull(max(convert(int,substring('+@listna+',len('+@listna+')-'+@nolen+'+1,'+@nolen+'))),0)+1 from '+@tablena +' where substring('+@listna+',len('+@listna+')-5-'+@nolen+',6)=convert(varchar(100),getdate(),12)' end else if (@mode=1) begin --查询表获取当天最大流水号语句,当日期模式为年月 set @sql = 'select isnull(max(convert(int,substring('+@listna+',len('+@listna+')-'+@nolen+'+1,'+@nolen+'))),0)+1 from '+@tablena +' where substring('+@listna+',len('+@listna+')-3-'+@nolen+',4)=convert(varchar(4),getdate(),12)' end else begin --查询表获取当天最大流水号语句,当日期模式为年 set @sql = 'select isnull(max(convert(int,substring('+@listna+',len('+@listna+')-'+@nolen+'+1,'+@nolen+'))),0)+1 from '+@tablena +' where substring('+@listna+',len('+@listna+')-1-'+@nolen+',2)=convert(varchar(2),getdate(),12)' end --创建临时表,获取最大流水号值 create table #temp (Total int); insert into #temp EXEC(@sql); set @num = (Select Total FROM #temp) if (@mode=0) begin --拼接流水号,当日期模式为年月日 set @runningnum = @prefix+CONVERT(varchar(100),GETDATE(),12)+replicate('0',@nolen-len(@num))+convert(varchar(20),@num) end else if (@mode=1) begin --拼接流水号,当日期模式为年月 set @runningnum = @prefix+CONVERT(varchar(4),GETDATE(),12)+replicate('0',@nolen-len(@num))+convert(varchar(20),@num) end else begin --拼接流水号,当日期模式为年 set @runningnum = @prefix+CONVERT(varchar(2),GETDATE(),12)+replicate('0',@nolen-len(@num))+convert(varchar(20),@num) end select @runningnum END
Access软件网QQ交流群 (群号:483923997) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
- 通过Access宏录入数据到选...(11.10)
学习心得
最新文章
- Access VBA语句If Me...(04.24)
- 【Access修改记录示例】编辑选...(04.22)
- 【Access表名称命名建议】将A...(04.20)
- Access学习笔记--用Acce...(04.19)
- 【Access重复项查询示例】将A...(04.17)
- Access快速开发平台企业版--...(04.16)
- 【Access模块示例】通过模块代...(04.15)
- Access查询里面分组合计功能添...(04.13)
- 【Access删除查询】删除数字最...(04.12)
- 显示文件夹中所有文件的修改时间(04.11)