-
sqlserver 存储过程,游标嵌套死循环,求指导。0
if(OBJECT_ID('pro_fristCount','P') is not null) drop procedure pro_fristCount; go create procedure pro_fristCount as create table #depe_records( -- 创建临时表 deptId nvarchar(100), deptName nvarchar(100), itemId nvarchar(100), itemName nvarchar(100), ticketNum int, voteId nvarchar(100) ); declare @temp_deptId nvarchar(100),@temp_deptName nvarchar(100),@temp_itemId nvarchar(100),@temp_itemName nvarchar(100),@temp_ticketNum int,@temp_voteId nvarchar(100);--临时表数据 declare @deptId nvarchar(100); declare cur_group cursor for select deptId from sp_vote_dept_records ;--按照部门分组 open cur_group fetch next from cur_group into @deptId; while(@@FETCH_STATUS=0) begin print @deptId; declare cur_votedept cursor for select top 10 * from sp_vote_dept_records where deptId=@deptId order by deptId desc ;--每个部门的十件大事 open cur_votedept fetch next from cur_votedept into @temp_deptId,@temp_deptName,@temp_itemId,@temp_itemName,@temp_ticketNum,@temp_voteId; while(@@FETCH_STATUS=0) begin print @temp_deptId+@temp_deptName+@temp_itemId; insert into #depe_records values(@temp_deptId,@temp_deptName,@temp_itemId,@temp_itemName,@temp_ticketNum,@temp_voteId); end fetch next from c_showuser into @temp_deptId,@temp_deptName,@temp_itemId,@temp_ticketNum,@temp_voteId; close c_showuser; deallocate cur_votedept fetch next from cur_group into @deptId; end close cur_group deallocate cur_group return select * from #depe_records;
第二个游标只会遍历不大于十条是数据,但是却总是死循环。2012年8月30日 09:43
1个答案 按时间排序 按投票排序
-
采纳的答案
你的第二个游标结束时的c_showuser哪来的?是不是写错了?
这个:
fetch next from c_showuser into @temp_deptId,@temp_deptName,@temp_itemId,@temp_ticketNum,@temp_voteId;
还有你的结束时的fetch是不是要写在begin end里面?
这段是不是要改成这样:open cur_votedept fetch next from cur_votedept into @temp_deptId,@temp_deptName,@temp_itemId,@temp_itemName,@temp_ticketNum,@temp_voteId; while(@@FETCH_STATUS=0) begin print @temp_deptId+@temp_deptName+@temp_itemId; insert into #depe_records values(@temp_deptId,@temp_deptName,@temp_itemId,@temp_itemName,@temp_ticketNum,@temp_voteId); fetch next from cur_votedept into @temp_deptId,@temp_deptName,@temp_itemId,@temp_ticketNum,@temp_voteId; end close cur_votedept; deallocate cur_votedept
2012年8月30日 10:13
相关推荐
本篇将深入探讨SQL Server 2005中的存储过程、游标以及游标嵌套的综合应用。 存储过程(Stored Procedure)是预编译的SQL语句集合,它们封装了特定的功能,可以多次调用,提高了代码的复用性和执行效率。在SQL ...
### SqlServer 存储过程与游标应用实例详解 #### 一、存储过程概述 在SQL Server中,存储过程是一种预编译的SQL语句集合,它可以被当作一个单独的对象来调用。存储过程可以提高应用程序性能,简化复杂的业务逻辑,...
本示例提供了一个关于存储过程、异常处理、错误消息返回、游标嵌套及其相关问题解决的综合案例。通过这些知识点的学习,初学者可以更好地理解和掌握如何编写健壮、高效的数据库应用程序。同时,对于更高级的应用场景...
下面是一个订单取消的含2个游标的存储过程 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[CancelOrderBySystem] AS BEGIN declare /*声明变量*/ @Status varchar(100), –状态 ...
游标是SqlServer中一种非常重要的数据库对象,它的作用是允许逐行访问由SQL Server返回的结果集。结果集通常包括多行数据,而游标则能够让用户以程序的方式逐行处理这些数据。在实际应用中,游标能够提供很多有用的...
本篇文章将深入探讨SQL Server中游标的使用,以及如何在存储过程中集成游标。 首先,我们需要了解游标的几个基本概念: 1. 游标的类型:包括静态、动态、键集和只进。静态游标在打开时加载所有数据,数据更改不会...
下面将详细解析标题“sql server 2008 存储过程示例带游标”所涉及的知识点,包括存储过程的创建、游标的使用以及SQL Server 2008中的特性。 ### 存储过程 存储过程是预编译的SQL语句集合,存储在数据库服务器上,...
SqlServer存储过程及调试指南的知识点如下: 1. 存储过程概念:存储过程是一组为完成特定功能的SQL语句集,这些语句经过编译后存储在数据库中,供用户通过指定存储过程名和参数(如有)来执行。存储过程被称作...
SQL对游标嵌套的应用 学校宿舍管理系统(实际上是个子系统): 包括以下几个表: 楼栋表;楼层表;房间表;学员住宿表 脚本如下: --楼栋表
SQL存储过程和游标的运用 SQL存储过程和游标是SQL语言中两个非常重要的概念,它们可以帮助开发者更好地管理和处理数据。在本节中,我们将详细介绍存储过程和游标的基本概念和应用。 什么是存储过程 存储过程是一...
在SQL Server中,游标是一种重要的工具,它允许我们逐行处理查询结果集,而不仅仅是一次性获取所有数据。游标提供了在结果集中向前或向后移动的能力,这在某些复杂的数据处理任务中非常有用。本篇文章将深入探讨SQL ...
在SQL Server中,存储过程和游标是两个重要的数据库编程元素,它们对于数据操作和管理起着关键作用。本文将深入探讨这两个概念,以及如何在实际应用中有效地使用它们。 **存储过程(Stored Procedures)** 存储...
表变量在SQL Server中是一种临时存储数据的结构,它与临时表相似但作用范围更小,仅限于当前批处理或存储过程。以下是一个使用表变量的例子: ```sql DECLARE @temp TABLE (id INT IDENTITY(1, 1), Name VARCHAR(10...
在SQL Server中,游标是一种数据处理工具,它允许我们逐行处理查询结果集,而不仅仅是一次性返回所有数据。游标对于那些需要按顺序处理数据、分步操作或逐条检查结果的应用场景非常有用。本篇文章将深入探讨SQL ...
* 游标嵌套需要合理使用,避免出现死循环。 * 游标嵌套需要与其他数据库对象进行协调,避免出现冲突。 五、结论 游标嵌套是 MySQL 中的一个强大功能,可以实现复杂的数据操作。通过合理使用游标嵌套,可以提高数据...
游标循环数据库,游标循环数据库游标循环数据库游标循环数据库
循环遍历逐行操作
在给定的代码示例中,作者通过创建一个存储过程`proc_cursor`来实现基于游标的分页功能,这种方法虽然在某些场景下可能不如其他方法高效,但在理解SQL Server游标和分页原理方面提供了很好的学习材料。 ### 数据库...
一、SQL server 游标的简单使用 一个对表进行操作的T-SQL语句通常都可产生或处理一组记录,但是许多应用程序,尤其是T-SQL嵌入的主语言,通常不能把整个结果集作为一个单元来处理,这些应用程序就需要用一种机制来...
在SQL Server中,数据库游标和函数是两个非常重要的概念,它们在数据处理和数据库操作中扮演着不可或缺的角色。游标允许我们逐行处理查询结果,而函数则提供了丰富的计算和逻辑处理能力。 首先,让我们深入理解SQL ...