测试

declare @parentId uniqueidentifier
declare @code varchar(50)
declare @result int
declare my_cursor cursor --定义游标
for(select Code from Base_Area where Layer=1 ) --查出需要的集合放到游标中
open my_cursor; --打开游标
fetch next from my_cursor into @code; --读取第一行数据
while @@FETCH_STATUS=0
begin
print Substring(@code,0,4); --打印数据 @code

	--要执行的命令
	set @parentId=(select Id from Base_Area where Code like ''+Substring(@code,0,4)+'%')
	update Base_Area set ParentId=@parentId where Layer=2 and Code like ''+Substring(@code,0,4)+'%'
	--@parentId=select Id from Base_Area where Code like ''+Substring(@code,0,4)+'%'
	
	fetch next from my_cursor into @code; --读取下一行数据 
end

close my_cursor; --关闭游标
deallocate my_cursor; --释放游标

原文地址:https://www.cnblogs.com/wgx0428/p/13933072.html