|
²åÈë¿Í»§¶©µ¥ CREATE PROCEDURE InsertOrder ( @CustomerId int, @MX nvarchar(4000), @Incom smallint ) AS SET NOCOUNT ON --ÕâÒ»¸ö²¿·Ö»¹¿Éµ¥¶ÀÌáÈ¡µ½Ò»¸ö´æ´¢¹ý³ÌÖÐͨ¹ý´«Èë¡°µ¥¾Ý±êʶºÅ¡±ºÍ¡°µ¥¾Ý±íÃû¡±Îª²ÎÊý---------------------------------------
--ÕÒÕÊÌ××ÖÍ·ºÅ
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 --ÕÒ±àºÅµÄ»ùÖµ£¨·½·¨£ºÓõ±ÌìµÄ±àºÅµ½ÅÅÐòÈ¡×î´óµÄÒ»¸ö¡£È統ǰ×î´ó±àºÅΪ0001ÄÇôËüµÄ»ùֵΪ1£¬ÕâÑù¾ÍÄܵóöϸö±àºÅΪ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λʮ½øÖƱàºÅ(×î´ó¿ÉÏÔʾ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
|