从默认是00001开始每增加一条信息自增1?
跪求,SQL中
跪求,SQL中
解决方案 »
- web菜鸟-----从一个菜鸟到能开发网站要学习那些方面的知识
- 内存已损坏提示,解决马上给分
- 文件大小和空间的关系
- ERP开销售订单窗体是如何做到的,
- C#怎样调用WebService? (我要细节!!!)
- 相对路径问题
- 请教Windows应用程序调用WebService 出现的问题 请高手指点!
- 求c#监视键盘按键的解决方法
- 各位有经验大侠来帮个忙!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 电脑上安装WPS,在对word文档进行操作时,打印出问题
- 如何让字符串的大小写字母保持大小写状态。Session["aa"]="Abc"读出来就是abc
- CommandBarButton这个类型
插入前,获取最后一条的编号,用程序加1后获取要新增行的编号,再执行insert语句.
ALTER function get_cltbdNextno(@date datetime)
returns varchar(20)
as
begin
DECLARE @YEAR VARCHAR(2)
DECLARE @MONTH VARCHAR(4)
DECLARE @DAY VARCHAR(2)
DECLARE @NEWNO VARCHAR(20)
--取得年
SET @YEAR=SUBSTRING(CONVERT(VARCHAR(4),YEAR(@date)),3,2)
--取得月
IF LEN(CONVERT(VARCHAR(4),MONTH(@date)))>1
SET @MONTH=CONVERT(VARCHAR(4),MONTH(@date))
ELSE
SET @MONTH='0'+CONVERT(VARCHAR(4),MONTH(@date))
--取得日
IF LEN(CONVERT(VARCHAR(4),day(@date)))>1
SET @DAY=CONVERT(VARCHAR(4),day(@date))
ELSE
SET @DAY='0'+CONVERT(VARCHAR(4),day(@date))
SELECT @NEWNO=MAX(退补临时单号) FROM 材料退补单
WHERE SUBSTRING(退补临时单号,1,2)=@YEAR AND SUBSTRING(退补临时单号,3,2)=@MONTH
IF @NEWNO IS NULL
SET @NEWNO=@YEAR+@MONTH+@day+'001'
ELSE
SET @NEWNO=@YEAR+@MONTH+@day+RIGHT('000000'+CONVERT(VARCHAR, CONVERT(BIGINT,SUBSTRING(@NEWNO,5,3))+1),3)
return @newno+'-B'
end
//调用 select dbo.get_cltbdNextno(getdate())
自动取得下一个编号