-2

私はPKを作成しようとしていますCP-00001が、私のコードはINV-19072013-0001私のストアドプロシージャのようにPKを作成しCP-00001ています.行が存在しない場合のように作成する必要があります。CP-00002

これは私のストアドプロシージャです:

ALTER procedure [dbo].[sp_AutoGenerateInoviceNumber] 
AS 
   Declare @InvNumberDate varchar(15) 

   Select @InvNumberDate = REPLACE(CONVERT(VARCHAR(10), GETDATE(), 105),'-','') 

   Declare @NewNumber varchar(20)

   If Exists (Select 1 from tbl_InvoiceMaster Where InvoiceNo LIKE '%'+ @InvNumberDate +'%') 
   Begin
       Select Top 1 @NewNumber = InvoiceNo 
       from tbl_InvoiceMaster 
       Where InvoiceNo LIKE '%'+ @InvNumberDate +'%'
       order by ROW_ID desc 

       Declare @NewSerialNo varchar(10) 
       Set @NewSerialNo = SUBSTRING(@NewNumber, CHARINDEX('-',@NewNumber, 5) + 1, LEN(@NewNumber))    
       Set @NewNumber = SUBSTRING(@NewNumber, 0, CHARINDEX('-',@NewNumber, 5))   

       Select @NewNumber = @NewNumber + '-' + dbo.func_IncrementNumber(@NewSerialNo)  
   End
Else
  Set @NewNumber = 'INV-'+@InvNumberDate+'-0001'
Select @NewNumber

ご提案ありがとうございます

4

1 に答える 1

1

PK の ID プロパティを使用し、ビューに「CP-」のビジネス ロジックを追加します。

インデンティの詳細については、こちらをご覧ください

于 2013-09-13T19:23:15.033 に答える