2016-04-06 19 views
1

Boş satırları tablomdan doldurmaya çalışıyorum. İşte masamdaki örnek. ne istediğimiBirden çok boş satırı doldurun

ID | Code  | 
1 NULL 
2 NULL 
3 NULL 

burada sql server 2008 kullanıyorum ve ben şimdiye kadar benim senaryom

ID |  Code  | 
    1 KL0000001 
    2 KL0000002 
    3 KL0000003 

geçerli:

declare @jml as int; 
declare @no as int = 1; 
declare @kode as varchar(50); 
    set @jml = (SELECT COUNT(IdArealeader) FROM arealeader); 
    set @kode = (select case 
       when right(max(KodeareaLeader),7) is null then 'KL0000001' 
       else ('KL' + RIGHT('0000000' + cast(right(max(KodeareaLeader),7) + 1 as nvarchar),7)) 
       end KodeareaLeader from arealeader) 
while @no < @jml begin 
    update arealeader set KodeareaLeader = @kode; 
END 
+0

'WHILE' döngüsünüz sonsuz bir döngüdür. –

+0

Güncelleme sorgu gerekli –

+0

@MukeshKalgude Evet biliyorum. Hangi şartı kullanmam gerektiğini karıştırdım mı? çünkü birden çok satır var. – Boby

cevap

2

bu basit yöntemi deneyin,

UPDATE T 
SET  T.Code = 'KL'+REPLICATE('0',7 - LEN(ID))+CAST(ID AS NVARCHAR(10)) 
FROM test_table T 

Döngülerden kaçınmaya çalışın, yalnızca gerekliyse kullanın y.

Result 
ID Code 
1 KL0000001 
2 KL0000002 
3 KL0000003 
.... 
10 KL0000010 
İlgili konular