欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
SQL Server生成訂單號
在SQL Server中生成訂單號的方法有許多種,現歸納如下:

SQL語(yǔ)句:select replace(substring(convert(varchar(20),getdate(),120),1,10),‘-‘,‘‘)+cast(MAX(訂單號)+1 as varchar(4))

使用存儲過(guò)程
--創(chuàng )建測試表
create table usertable(userid varchar(20),username nvarchar(20))
go
--創(chuàng )建觸發(fā)器
create trigger tg_insert on usertable
for insert
as
declare @username nvarchar(20)
declare @userid varchar(20)
declare @num int
select @userid=max(userid) from usertable where userid like ‘jzxd‘ + substring(convert(varchar(10),getdate(),112),5,4) + ‘%‘
if @userid is null
set @userid=‘jzxd‘ + substring(convert(varchar(10),getdate(),112),5,4) + ‘-01‘
else
begin
set @num=cast(substring(@userid,10,2) as int)
set @num=@num + 1
if @num<10
set @userid=‘jzxd‘ + substring(convert(varchar(10),getdate(),112),5,4) + ‘-0‘ + cast(@num as varchar(2))
else
set @userid=‘jzxd‘ + substring(convert(varchar(10),getdate(),112),5,4) + ‘-‘ + cast(@num as varchar(2))
end
select @username=username from inserted
rollback
insert into usertable values(@userid,@username)
go
--測試數據
insert into usertable(username) values(‘a(chǎn)a‘)
go
insert into usertable(username) values(‘bb‘)
go
insert into usertable(username) values(‘cc‘)
go
--顯示數據
select * from usertable
go

另外一法

--try
大多數的單據都需要有個(gè)單據號。有的單據號就是順序編號如:000001,000002……。有的單據號是有一定意義的,如我遇見(jiàn)過(guò)的 一個(gè)需求:?jiǎn)螕柟?2位,1位帳套號(區分使用單位的),1位單據標識號(表示該單是什么單,如:E表示訂貨單,X表示銷(xiāo)售單),2位年號(05表示 2005年),2位月號,2位日號,4位編號(按當天的順序,最大9999,超過(guò)9999的就用9999表示)。JE0505070001就表示某某單位2005年5月7日的第一單訂貨單。用編程實(shí)現這個(gè)要求當然不算太難,不過(guò)要將單據號生成方法放到存儲過(guò)程中去 就要費點(diǎn)心思了。


下面就以插入訂單為例,其中有一段代碼是可提取到一個(gè)單獨的存儲存儲過(guò)程中的,這樣可增加通用性。


-插入客戶(hù)訂單
CREATE PROCEDURE InsertOrder
(
@CustomerId int,
@MX nvarchar(4000),
@Incom smallint
)

AS

SET NOCOUNT ON

--這一個(gè)部分還可單獨提取到一個(gè)存儲過(guò)程中通過(guò)傳入“單據標識號”和“單據表名”為參數---------------------------------------

--找帳套字頭號
DECLARE @IH char(1)
SELECT @IH = LEFT(IncID,1) FROM accounts WHERE ID = @Incom

--編號年月部分
DECLARE @YM char(6)
SET @YM = CONVERT(char(6),GETDATE(),12)
--單據字頭
DECLARE @DJHH char(8)
SET @DJHH = @IH + ‘E‘ + @YM


--找編號的基值(方法:用當天的編號到排序取最大的一個(gè)。如當前最大編號為0001那么它的基值為1,這樣就能得出下個(gè)編號為0002)
DECLARE @MNO INT --當天最大的單據號(數值)
SET @MNO = 1
select TOP 1 @MNO = CONVERT(int,RIGHT(DJH,4))+1 from Orders where left(DJH,8) = @DJHH and incom = @Incom Orders by DJH desc


DECLARE @DJH char(12)

--擴充成4位十進(jìn)制編號(最大可顯示9999)
IF @MNO < 9999
IF @MNO < 999
IF @MNO < 99
IF @MNO < 9
SET @DJH = @DJHH + ‘000‘ + CONVERT(char(1),@MNO)
ELSE
SET @DJH = @DJHH + ‘00‘ + CONVERT(char(2),@MNO)
ELSE
SET @DJH = @DJHH + ‘0‘ + CONVERT(char(3),@MNO)
ELSE
SET @DJH = @DJHH + CONVERT(char(4),@MNO)
ELSE
SET @DJH = @DJHH + ‘9999‘


----(可提取的部分結束)------------------------------------------------------------------------------------------------------

--插入訂單
INSERT INTO Orders (DJH, CustomerId, MX, InCom) VALUES (@DJH, @CustomerId, @MX, @Incom)
RETURN
GO

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
數據庫遷移 總結
SqlServer到Oracle數據庫轉換手記
oracle與sqlserver的十大區別
[C#新手入門(mén) 三] 使用DataTable作為存儲過(guò)程的參數
derby數據庫語(yǔ)法
hibernate測試1創(chuàng )建表
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久