小系統(tǒng)單據(jù)自動生成存儲過程
更新時間:2010年07月03日 00:50:24 作者:
此處判斷有兩種方法:一種是根據(jù)傳入6位日期判斷;另一種根據(jù)單據(jù)創(chuàng)建日期字段(前提:表有創(chuàng)建時間字段)
復(fù)制代碼 代碼如下:
create table [order]
(
code varchar(50),
createtime datetime
)
--應(yīng)用 usp_ordernumbergenerate(@prefix = 'PRC100701')
--傳入前綴 大類+單據(jù)編碼+6位日期
--獲取當(dāng)日該類單據(jù)最大流水號(需按日歸零)
--此處判斷有兩種方法:一種是根據(jù)傳入6位日期判斷;另一種根據(jù)單據(jù)創(chuàng)建日期字段(前提:表有創(chuàng)建時間字段)
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ù)情況 流水號為001
--print @count
select @orderNumber = @prefix + '001'
else --當(dāng)日有單據(jù)情況 最大流水號+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 語句更新的數(shù)據(jù)
這篇文章主要介紹了使用 TOP 子句限制UPDATE 語句更新的數(shù)據(jù),需要的朋友可以參考下2014-08-08sql多表行轉(zhuǎn)列、級聯(lián)行轉(zhuǎn)列示例代碼
這篇文章主要介紹了sql多表行轉(zhuǎn)列、級聯(lián)行轉(zhuǎn)列示例代碼,需要的朋友可以參考下2014-03-03asp.net中如何調(diào)用sql存儲過程實現(xiàn)分頁
使用sql存儲過程實現(xiàn)分頁,在網(wǎng)上能找到好多種解決方案,但是如何用asp.net后臺調(diào)用呢,通過本篇文章小編給大家詳解asp.net中如何調(diào)用sql存儲過程實現(xiàn)分頁,有需要的朋友可以來參考下2015-08-08SQL Server 在分頁獲取數(shù)據(jù)的同時獲取到總記錄數(shù)
本文通過兩種方法給大家介紹SQL Server 在分頁獲取數(shù)據(jù)的同時獲取到總記錄數(shù),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05sql語句中如何將datetime格式的日期轉(zhuǎn)換為yy-mm-dd格式
sql語句中如何將datetime格式的日期轉(zhuǎn)換為yy-mm-dd格式...2007-10-10