커서

2013-09-16 3 views
0

내 널 열을 업데이트하기 위해 커서를 사용하고 내 열을 업데이트하지 않고, 대신커서

WHILE @@FETCH_STATUS = 0 

희망이

WHILE @@FETCH_STATUS <> -1 

를 사용하는

Declare @Itemcode as varchar(30) 
Declare @SLV as varchar(20) 
declare cursor1 cursor for 
Select Itemcode ,U_SLV from oitm_Clone where sapitem is null and u_slv is null 
open cursor1 
    fetch next FROM cursor1 INTO @Itemcode ,@SLV 
    WHILE @@FETCH_STATUS = 0 
    begin 
    if @SLV is null 
    begin 
    declare @sql1 as varchar(max)   
      set @sql1 = 'Update [dbo].oitm_Clone set sapitem ='''+ @Itemcode +''' where ItemCode='''+ @Itemcode +''' and U_SLV ='''+ @SLV +'''' 
      print @sql1 
      execute (@sql1) 
    end 
    FETCH NEXT FROM cursor1 INTO @Itemcode ,@SLV 
    end 
    CLOSE cursor1 
DEALLOCATE cursor1 
+0

이 정보가 맞습니까? 'sapitem = '' '+ @Itemcode +' ''' –

답변

1

나는이 업데이트를하기 위해 커서가 필요 없다고 생각한다. 훨씬 간단한 성능으로 커서의 논리가 동일한이 간단한 업데이트를 사용해보십시오.

Update [dbo].oitm_Clone 
Set sapitem = itemcode 
Where sapitem is null and u_slv is null 
0

시도를 업데이트하지 않습니다 도움이 될 것입니다.

안부