私は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
ご提案ありがとうございます