0

CaseFilesテーブルのcsfl_CaseNo列にデータがあります

00001/13-14
00002/13-14
00003/13-14
00004/13-14
00005/13-14

数値をインクリメントするストアドプロシージャは次のとおりです

ALTER PROCEDURE [dbo].[HLA_CaseNo](@strFnyr as nvarchar(5),@strSuffix as nvarchar(15) OUTPUT) 
AS
BEGIN
--Declarations
declare @strSuffix1 as nvarchar(15)
declare @strTmp as nvarchar(5)
declare @intNew as int
--declare @strSql as nvarchar(2000)
set @strSuffix1 = null  
  --Process
begin
    set @strSuffix1 = (select max(csfl_caseNo) from CaseFiles where csfl_Fynyr = @strFnyr)
    --set @strPrf='QUT'
end

if @strSuffix1 is null
    set @intNew = 1
else
    set @intNew = cast(substring(@strSuffix1,0,5) as int) + 1

print 'The value of intNew ' + cast(@intNew as nvarchar(10))
set @strTmp = cast(@intNew as nvarchar(5))
set @strTmp = (select replicate('0',5-len(@strTmp)) + @strTmp)
set @strSuffix = @strTmp + '/' + @strFnyr   

終わり

私の仕事は13-14 、値を返す必要があるため、会計年度を渡すときですが、代わりに00006/13-14返さ00002/13-14れます。

なぜこれが起こっているのですか?助けてください

4

3 に答える 3