小系統(tǒng)單據(jù)自動(dòng)生成存儲(chǔ)過程
發(fā)布日期:2022-01-28 18:43 | 文章來源:腳本之家
復(fù)制代碼 代碼如下:
create table [order]
(
code varchar(50),
createtime datetime
) --應(yīng)用 usp_ordernumbergenerate(@prefix = 'PRC100701')
--傳入前綴 大類+單據(jù)編碼+6位日期
--獲取當(dāng)日該類單據(jù)最大流水號(hào)(需按日歸零)
--此處判斷有兩種方法:一種是根據(jù)傳入6位日期判斷;另一種根據(jù)單據(jù)創(chuàng)建日期字段(前提:表有創(chuàng)建時(shí)間字段)
create procedure usp_OrderNumberGenerate
@prefix varchar(50)
as
declare @count int
declare @midcode varchar(3)
declare @Digits int = 3
declare @orderNumber varchar(50) select @count = COUNT(*) from [order] where DATEDIFF(day, createtime, GETDATE()) = 0
if(@count = 0) --當(dāng)日無單據(jù)情況 流水號(hào)為001
--print @count
select @orderNumber = @prefix + '001'
else --當(dāng)日有單據(jù)情況 最大流水號(hào)+1
select @midcode = max(substring(midcode, 10, 3)) + 1
from [order]
where DATEDIFF(day, createtime, GETDATE()) = 0 select @orderNumber =@prefix + RIGHT(REPLICATE('0', @Digits)
+ CAST(@midcode as VARCHAR), @Digits) print @ordernumber
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章