none
İncremental Text Id örneğin 'C0001' Nasıl Yapabilirim trigger olarak. RRS feed

  • Soru

  • Öncelikle merhaba,

    İncremental artan bşr ıd istiyorum lakin başında text olması gerekiyor 'C0001' gibi ve bu artan olmalı

    sizce nasıl yapmalıyım. ?

    teşekkürler Şimdiden.

    17 Kasım 2016 Perşembe 12:11

Yanıtlar

  • Merhabalar,

    Aşağıdaki linkte farklı çözüm yolları, avantaj ve dezavantajları var. Siz trigger olarak yapmak istiyorsanız örnek olarak aşağıdaki gibi bir yapı kullanabilirsiniz. Öncelikle bu trigger içinde çalışacak bir fonksiyon oluşturmanız gerekmektedir:

    http://www.sqlteam.com/article/custom-auto-generated-sequences-with-sql-server

    create function NextCustomerNumber() 
    returns char(5) 
    as 
    begin 
    	declare @lastval char(5) 
    	set @lastval = (select max(customerNumber) from Customers) 
    	if @lastval is null set @lastval = 'C0001' 
    	declare @i int 
    	set @i = right(@lastval,4) + 1 
    	return 'C' + right('000' + convert(varchar(10),@i),4) 
    end
    
    GO
    
    alter Customers add CustomerNumber varchar(10) 
    create trigger Customers_insert on Customers 
    after insert as 
    update 
        Customers 
    set 
        Customers.customerNumber = dbo.CustomerNumber(Customers.dbID) 
    from 
        Customers 
    inner join 
        inserted on Customers.dbID= inserted.dbID
    
    GO

    Linkte detayları bulabilirsiniz...

    Umarım faydalı olur.


    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    www.abdullahaltintas.com

    19 Kasım 2016 Cumartesi 00:36

Tüm Yanıtlar