64 lines
2.3 KiB
Plaintext
64 lines
2.3 KiB
Plaintext
![]() |
SET QUOTED_IDENTIFIER ON
|
|||
|
GO
|
|||
|
SET ANSI_NULLS ON
|
|||
|
GO
|
|||
|
|
|||
|
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Get_SY_MaxBH]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
|
|||
|
drop procedure [dbo].[Get_SY_MaxBH]
|
|||
|
GO
|
|||
|
|
|||
|
|
|||
|
--<2D><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
--<2D><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD>
|
|||
|
--exec Get_SY_MaxBH 'LJ','s1',8,'1'
|
|||
|
create PROCEDURE Get_SY_MaxBH
|
|||
|
@BHstr varchar(2),
|
|||
|
@BHType varchar(20),
|
|||
|
@Len int =3,
|
|||
|
@status varchar(10)='0'
|
|||
|
AS
|
|||
|
begin
|
|||
|
if @status='0'
|
|||
|
begin
|
|||
|
IF EXISTS (SELECT * FROM SY_MaxBH WHERE BHstr=@BHstr AND BHType=@BHType And Type='0')
|
|||
|
BEGIN
|
|||
|
UPDATE SY_MaxBH SET BHNo=BHNo+1 WHERE BHstr=@BHstr AND BHType=@BHType And Type='0'
|
|||
|
SELECT MaxBH = rtrim(BHstr) + RIGHT(cast('1'+replicate('0',@Len) as int) + BHNo, @Len) FROM SY_MaxBH WHERE BHstr=@BHstr AND BHType=@BHType And Type='0'
|
|||
|
END
|
|||
|
ELSE
|
|||
|
BEGIN
|
|||
|
INSERT SY_MaxBH (BHstr, BHType, BHNo,Type) VALUES (@BHstr, @BHType,1,0)
|
|||
|
SELECT MaxBH = rtrim(BHstr) + RIGHT(cast('1'+replicate('0',@Len) as int) + BHNo, @Len) FROM SY_MaxBH WHERE BHstr=@BHstr AND BHType=@BHType And Type='0'
|
|||
|
END
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
DECLARE @Date DATETIME
|
|||
|
DECLARE @Datestr CHAR(6)
|
|||
|
SET @Date = GETDATE()
|
|||
|
SET @Datestr = RIGHT(YEAR(@Date) * 10000 + MONTH(@Date) * 100 + DAY(@Date), 6)
|
|||
|
IF EXISTS (SELECT * FROM SY_MaxBH WHERE BHstr=@BHstr AND BHType=@BHType AND BHDate=@Datestr And Type='1')
|
|||
|
BEGIN
|
|||
|
UPDATE SY_MaxBH SET BHNo=BHNo+1 WHERE BHstr=@BHstr AND BHType=@BHType AND BHDate=@Datestr And Type='1'
|
|||
|
SELECT MaxBH = rtrim(BHstr) + BHDate + RIGHT(cast('1'+replicate('0',@Len) as int) + BHNo, @Len) FROM SY_MaxBH WHERE BHstr=@BHstr AND BHType=@BHType And Type='1'
|
|||
|
END
|
|||
|
ELSE IF EXISTS (SELECT * FROM SY_MaxBH WHERE BHstr=@BHstr AND BHType=@BHType And Type='1')
|
|||
|
BEGIN
|
|||
|
UPDATE SY_MaxBH SET BHDate=@Datestr, BHNo=1 WHERE BHstr=@BHstr AND BHType=@BHType And Type='1'
|
|||
|
SELECT MaxBH = rtrim(BHstr) + BHDate + RIGHT(cast('1'+replicate('0',@Len) as int) + BHNo, @Len) FROM SY_MaxBH WHERE BHstr=@BHstr AND BHType=@BHType And Type='1'
|
|||
|
END
|
|||
|
ELSE
|
|||
|
BEGIN
|
|||
|
INSERT SY_MaxBH (BHstr, BHType,BHDate, BHNo,type) VALUES (@BHstr, @BHType,@Datestr, 1,1)
|
|||
|
SELECT MaxBH = rtrim(BHstr) + BHDate + RIGHT(cast('1'+replicate('0',@Len) as int) + BHNo, @Len) FROM SY_MaxBH WHERE BHstr=@BHstr AND BHType=@BHType And Type='1'
|
|||
|
END
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
GO
|
|||
|
SET QUOTED_IDENTIFIER OFF
|
|||
|
GO
|
|||
|
SET ANSI_NULLS ON
|
|||
|
GO
|
|||
|
|