小系統(tǒng)單據(jù)自動(dòng)生成存儲(chǔ)過程
更新時(shí)間:2010年07月03日 00:50:24 作者:
此處判斷有兩種方法:一種是根據(jù)傳入6位日期判斷;另一種根據(jù)單據(jù)創(chuàng)建日期字段(前提:表有創(chuàng)建時(shí)間字段)
復(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)日無(wú)單據(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
相關(guān)文章
使用 TOP 子句限制UPDATE 語(yǔ)句更新的數(shù)據(jù)
這篇文章主要介紹了使用 TOP 子句限制UPDATE 語(yǔ)句更新的數(shù)據(jù),需要的朋友可以參考下2014-08-08sql多表行轉(zhuǎn)列、級(jí)聯(lián)行轉(zhuǎn)列示例代碼
這篇文章主要介紹了sql多表行轉(zhuǎn)列、級(jí)聯(lián)行轉(zhuǎn)列示例代碼,需要的朋友可以參考下2014-03-03SQL多表聯(lián)合查詢時(shí)如何采用字段模糊匹配
這篇文章主要介紹了SQL多表聯(lián)合查詢時(shí)如何采用字段模糊匹配,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11asp.net中如何調(diào)用sql存儲(chǔ)過程實(shí)現(xiàn)分頁(yè)
使用sql存儲(chǔ)過程實(shí)現(xiàn)分頁(yè),在網(wǎng)上能找到好多種解決方案,但是如何用asp.net后臺(tái)調(diào)用呢,通過本篇文章小編給大家詳解asp.net中如何調(diào)用sql存儲(chǔ)過程實(shí)現(xiàn)分頁(yè),有需要的朋友可以來(lái)參考下2015-08-08SQL Server 在分頁(yè)獲取數(shù)據(jù)的同時(shí)獲取到總記錄數(shù)
本文通過兩種方法給大家介紹SQL Server 在分頁(yè)獲取數(shù)據(jù)的同時(shí)獲取到總記錄數(shù),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05sql語(yǔ)句中如何將datetime格式的日期轉(zhuǎn)換為yy-mm-dd格式
sql語(yǔ)句中如何將datetime格式的日期轉(zhuǎn)換為yy-mm-dd格式...2007-10-10