2016-04-06 49 views
1

我试图从我的表中填充空行。这是我桌子上的例子。填充多个空行

ID | Code  | 
1 NULL 
2 NULL 
3 NULL 

我想是

ID |  Code  | 
    1 KL0000001 
    2 KL0000002 
    3 KL0000003 

我使用SQL Server 2008,这里是到目前为止我的脚本:

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循环是一个无限循环。 –

+0

更新查询已被要求条件 –

+0

@MukeshKalgude是的,我知道。我迷惑我必须使用什么条件?因为有多行。 – Boby

回答

2

试试这个简单的方法,

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

尽量避免循环,只有在需要时才使用年。

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