SQL 存储过程 游标的问题

--我写了个简单的存储过程、但执行出来是个死循环、一直在查询

--我明明有关闭游标和摧毁它

ALTER PROCEDURE [dbo].[GetClsTypeId]
AS
begin

declare @Tree varchar(500)
--创建游标
declare TypeId_cursor cursor for select [Tree] from [3d_Customer_Cymb] where Mark=0 and ParentId=0 and FangXinId=1

open TypeId_cursor 

fetch next from TypeId_cursor into @Tree

while @@fetch_status=0
      begin
           select * from [3d_Customer_Cymb] where Tree LIKE '%'+@Tree+'%' and ParentId <>0 
      end

close TypeId_cursor 
deallocate Type_cursor
      
end

阅读 2.2k
1 个回答
--本人已解决、在游标循环while内少写了一句

fetch next from TypeId_cursor into @Tree

--将游标拨向下一个、不然就会一直查询一条、形成死循环
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进