Forum
selam, Parekende Satış da müşteri kart numaraları 1 den başlayıp 3895 de bitiyor. Bu müşteri kodlarını toplu olarak değiştirmek istiyorum. Yeni oluşturacağım kodların 10001 den başlayarak numaralandırabileceğim bir sql varmı.
Örneğin Eski Müşteri Kod Yeni Müşteri Kodu
1 10001
25 10025
347 10347
2654 12654
====================================================
NOT : LUTFEN SQL'I CALISTIRMADAN ONCE YEDEK ALINIZ. !
====================================================
declare @lKodu integer
declare @Uzunluk integer
declare @SiraNo char(4)
declare Siralanacak CURSOR FOR
Select lKodu from tbMusteri where lKodu > 0
order by lKodu
OPEN Siralanacak
FETCH NEXT FROM Siralanacak
into @lKodu
WHILE @@FETCH_status = 0
BEGIN
if len(@lKodu) = 1 begin set @SiraNo = '1000' + convert(char(1),@lKodu) end
if len(@lKodu) = 2 begin set @SiraNo = '100' + convert(char(2),@lKodu) end
if len(@lKodu) = 3 begin set @SiraNo = '10' + convert(char(3),@lKodu) end
if len(@lKodu) = 4 begin set @SiraNo = '1' + convert(char(4),@lKodu) end
update tbMusteri set lKodu = @SiraNo
where lKodu = @lKodu
FETCH NEXT FROM Siralanacak
into @lKodu
End
Close Siralanacak
DEALLOCATE Siralanacak
update tbParamMusteri set lMusteriNo = @lKodu
go