sqlserver - SQL 存储过程 游标的问题

查看:161
本文介绍了sqlserver - 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

解决方案

--本人已解决、在游标循环while内少写了一句

fetch next from TypeId_cursor into @Tree

--将游标拨向下一个、不然就会一直查询一条、形成死循环

这篇关于sqlserver - SQL 存储过程 游标的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆