- 浏览: 1884747 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (514)
- OPEN (41)
- WARN (33)
- EXPER (16)
- RESOURCE (7)
- TOOL (4)
- DWR (10)
- Struts1.x (10)
- Ibtais (18)
- MyEclipse (30)
- Sql Server (64)
- Tomcat (7)
- APACHE (4)
- JSP (18)
- SERVLET (6)
- ENGLISH (0)
- ECSide (8)
- JasperReports (7)
- JAVA (24)
- JS (42)
- XML (26)
- CVS (8)
- Mind (1)
- JQUERY (2)
- IBATIS (6)
- PROJECT (0)
- STRUTS2 (0)
- PROXOOL (0)
- SPRING (4)
- Hibernate (0)
- SSI (0)
- JBPM (11)
- FLEX (3)
- JSON (2)
- GWT (1)
- jeecms v3 (1)
- Flash (2)
- DATA (1)
- ORACLE (3)
- 查询oracle 中逗号分隔字符串中所有值 (1)
最新评论
-
小小西芹菜:
GoEasy web三步轻松实现web实时推送1. 引入goe ...
服务器推送技术 java -
kg_1997:
这个方法太棒了,可以不用to_date函数,实在是棒!!!
java/oracle日期处理 -
wodesunday:
:idea:
SQL的分段统计查询语句 -
wodesunday:
引用
SQL的分段统计查询语句 -
BlueSkator:
讲的有点浅,没有深入进去
tomcat需要的重新发布和重启服务器的几种情况
今天写了个存储过程,使用了两个游标,在数据库里实现嵌套多层循环操作!
可是,老是执行存储过程,总是出现名为'MM_CURSOR' 的游标已存在。
一般出现这样的问题是:
1:游标没有 --关闭 释放
如:
2:游标已存在同名情况,此时就需要在定义游标时申明一个局部的游标
如:
其实我的情况都不是这样,只是在使用嵌套多层循环操作时把两个游标全部放在存储过程末后
没有及时关闭导致问题出现!
正确代码如下
此外,在刚开始调用存储过程还遇到一个问题:程序处于正在查询状态,近一个小时,我想,数据还没那么复杂,可能出现死循环或某个游标没有移动...
可是看了代码,没有出现这样的情况,
经同事指点:
可是,老是执行存储过程,总是出现名为'MM_CURSOR' 的游标已存在。
一般出现这样的问题是:
1:游标没有 --关闭 释放
如:
--关闭游标 CLOSE MM_CURSOR --释放游标 DEALLOCATE MM_CURSOR
2:游标已存在同名情况,此时就需要在定义游标时申明一个局部的游标
如:
/*检索已经配置好的新村镇的所有乡级部门*/ ---申明游标 DECLARE deptCursor CURSOR local FOR SELECT deptname, deptsimplename,distid, deptuncode,deptqueryno,ifreport,deptsort,enable,deptfloor,deptcharacter,caseSMSFlag,deptType FROM t_department where PARENTID=250 and deptType='2'
其实我的情况都不是这样,只是在使用嵌套多层循环操作时把两个游标全部放在存储过程末后
--关闭游标 CLOSE MM_CURSOR --释放游标 DEALLOCATE MM_CURSOR --关闭游标--释放游标 CLOSE deptCursor --释放游标 DEALLOCATE deptCursor
没有及时关闭导致问题出现!
正确代码如下
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ---drop PROCEDURE copyDept ALTER PROCEDURE [dbo].[copyDept] as declare @deptCode varchar(20) declare @deptname varchar(10) declare @deptsimplename varchar(100) declare @distid bigint declare @deptuncode varchar(100) declare @deptqueryno varchar(100) declare @ifreport varchar(4) declare @deptsort int declare @enable varchar(6) declare @deptfloor smallint declare @deptcharacter varchar(50) declare @caseSMSFlag varchar(4) declare @deptType varchar(1) declare @DeNo bigint set nocount on begin set @deptcode = '2000000' /*检索已经配置好的新村镇的所有乡级部门*/ ---申明游标 DECLARE deptCursor CURSOR local FOR SELECT deptname, deptsimplename,distid, deptuncode,deptqueryno,ifreport,deptsort,enable,deptfloor,deptcharacter,caseSMSFlag,deptType FROM t_department where PARENTID=250 and deptType='2' ---打开游标 OPEN deptCursor --循环取出游标 FETCH NEXT FROM deptCursor INTO @deptname,@deptsimplename,@distid,@deptuncode,@deptqueryno,@ifreport,@deptsort,@enable,@deptfloor,@deptcharacter,@caseSMSFlag,@deptType while (@@FETCH_STATUS = 0) begin /*检索乡镇行政部门:如赵集镇,龙王乡...*/ ---申明游标 Declare MM_CURSOR CURSOR local FOR Select DEPTID from t_department where ENABLE= '启用' and DISTID = 1 and deptType=0 and deptid !=250---demo,except 250 -- and PARENTID =288--and deptid not in (243,244)--and is_convenience=@tjType jc_dreaming Order by DEPTCODE /**ONLY VALID DEPARTMENT */ -- 打开游标 open MM_CURSOR --循环取出游标 FETCH NEXT FROM MM_CURSOR INTO @DeNo while (@@FETCH_STATUS = 0) BEGIN set @deptcode = convert(varchar(20),cast(@deptcode as int)+1) print(@deptcode) INSERT INTO T_DEPARTMENT (deptcode, deptname, deptsimplename,distid, deptuncode,deptqueryno,ifreport,deptsort,enable,deptfloor,PARENTID,deptcharacter,caseSMSFlag,deptType) VALUES (@deptcode,@deptname,@deptsimplename,@distid,@deptuncode,@deptqueryno,@ifreport,@deptsort,@enable,@deptfloor,@DeNo,@deptcharacter,@caseSMSFlag,@deptType) FETCH NEXT FROM MM_CURSOR INTO @DeNo END --关闭游标 CLOSE MM_CURSOR --释放游标 DEALLOCATE MM_CURSOR FETCH NEXT FROM deptCursor INTO @deptname,@deptsimplename,@distid,@deptuncode,@deptqueryno,@ifreport,@deptsort,@enable,@deptfloor,@deptcharacter,@caseSMSFlag,@deptType --@deptname,@deptsimplename,@distid,@deptuncode,@deptqueryno,@ifreport,@deptsort,@enable,@deptfloor,@deptcharacter,@caseSMSFlag,@deptType end end --关闭游标 CLOSE deptCursor --释放游标 DEALLOCATE deptCursor
此外,在刚开始调用存储过程还遇到一个问题:程序处于正在查询状态,近一个小时,我想,数据还没那么复杂,可能出现死循环或某个游标没有移动...
可是看了代码,没有出现这样的情况,
经同事指点:
---申明游标 Declare MM_CURSOR CURSOR local FOR Select DEPTID from t_department where ENABLE= '启用' and DISTID = 1 and deptType=0 and deptid !=250---demo,except 250 -- and PARENTID =288--and deptid not in (243,244)--and is_convenience=@tjType jc_dreaming Order by DEPTCODE /**ONLY VALID DEPARTMENT */ -- 打开游标 open MM_CURSOR --循环取出游标 FETCH NEXT FROM MM_CURSOR INTO @DeNo while (@@FETCH_STATUS = 0) set @deptcode = convert(varchar(20),cast(@deptcode as int)+1) //把此行代码移至begin代码内即可 BEGIN print(@deptcode) INSERT INTO T_DEPARTMENT (deptcode, deptname, deptsimplename,distid, deptuncode,deptqueryno,ifreport,deptsort,enable,deptfloor,PARENTID,deptcharacter,caseSMSFlag,deptType) VALUES (@deptcode,@deptname,@deptsimplename,@distid,@deptuncode,@deptqueryno,@ifreport,@deptsort,@enable,@deptfloor,@DeNo,@deptcharacter,@caseSMSFlag,@deptType) FETCH NEXT FROM MM_CURSOR INTO @DeNo END --关闭游标 CLOSE MM_CURSOR --释放游标 DEALLOCATE MM_CURSOR
发表评论
-
Eclipse中HashMap/Hashtable出现警告Type safety本篇文章来源于:开发学院 http://edu.codepub.com 原文
2010-08-03 13:08 2221症状: Type safety: The method pu ... -
Content is not allowed in prolog.
2010-08-03 10:51 4252读取XML时出现错误: 2010-08-03 10:52:2 ... -
进程被死锁
2010-07-16 11:45 2390错误: 引用 2010-07-15 11 ... -
java.lang.UnsupportedClassVersionError: Bad version number in .class file
2010-05-13 20:11 1321tomcat启动报错,发现错误版本 、 严重: Error d ... -
Oracle: ORA-00911: 无效字符
2010-04-22 10:41 6853Oracle: java.sql.SQLException: ... -
解决 无法解析导入 javax.servlet.ServletContextEvent
2010-02-09 11:24 5301启动tomcat报错了: 严重: Error configu ... -
...NeedsRefreshException问题分析
2010-02-07 16:44 3842com.opensymphony.oscache.base. ... -
JVMTI_ERROR_NULL_POINTER(100)
2010-01-27 16:49 1980JDWP exit error JVMTI_ERROR_NUL ... -
Couldn't perform the operation prepareCall
2010-01-08 09:43 5571[code="sql"]- ... -
tomcat ClassNotFoundException
2010-01-05 10:49 1217严重: Exception starting filter ... -
javax.servlet.servletexception cannot find actionmappings or actionformbeans col
2010-01-03 11:22 1765异常:javax.servlet.ServletExcepti ... -
错误1111
2010-01-02 14:28 1936org.springframework.jdbc.Un ... -
Cannot resolve reference to bean 'pingFenRecService' while setting bean property
2010-01-02 11:23 5281玩转SSI时重启服务器报错,郁闷啦,怎么可能呢?还报配置出错. ... -
TOMCAT 6 警告:Parameters:Invalid chunk ignored 的解决
2009-12-08 11:04 1648编写程序后,重启tomcat,出现警告:Parameters: ... -
解决:sql 排序规则不一致问题
2009-12-03 13:48 4745把程序部署到服务器上 ... -
Ibatis : Attribute "*" must be declared for element type "result".
2009-11-25 16:29 4307整合一Ibatis,竟然报错了! Caused by: com ... -
在建立与服务器的连接时出错。在连接到 sql server 2005 时 在默认的设置下 sql server 不允许进行远程连
2009-11-24 15:21 43883今天连接数据库时突然 ... -
Ibatis :The error occurred while applying a parameter map.
2009-11-18 10:03 23377项目需求变更在修改源程序时,要涉及数据库变动,大刀阔斧一般之后 ... -
Myeclipse:resource is out of sync with the file system的解决办法
2009-11-13 17:50 3951引用在eclipse中,启动run on server时报错: ... -
Ibatis There is no WRITEABLE property named 'depName' in class 'com.ving.xzfw.vo
2009-11-12 18:20 10977ibatis 异常, 报了一大推 错误: Caused by ...
相关推荐
设置双游标,并且读取X轴值。需要设置属性节点-活动游标,然后在拖动添加X轴位置。这个难点很多人遇到过
"Moving-CURSOR.rar_labview_labview 波形图_labview游标_波形图_游标"这个压缩包文件显然包含了关于如何在LabVIEW中使用游标读取波形图数据的相关内容。游标功能在分析和测量应用中非常关键,因为它允许用户直观地...
在图形用户界面中,游标通常表现为可移动的标记,用于指示数据的特定位置。在波形图中,游标可以用来读取特定时间点的信号幅度,或者同时在多个波形之间进行比较。 设置波形图的游标主要包括以下几个方面: 1. **...
游标可以理解为是一个映射在结果集中的一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了。 游标的分类: * 显式游标:需要 4 步来使用,包括声明游标、打开游标、读取数据和关闭游标。 * ...
在数据库术语中,游标(Cursor)是一个编程概念,它允许程序逐行处理数据库查询结果。游标提供了在结果集中向前或向后移动的能力,这使得我们可以按需处理每一行数据,而不是一次性加载所有结果。在Python中,通常...
因此,`DISPLAY_CURSOR`脚本在那个时代显得尤为重要,它提供了直接查看游标状态的手段,对于数据库管理员和开发人员来说,是诊断和优化SQL性能不可或缺的工具。 总的来说,Oracle 9i的`DISPLAY_CURSOR`脚本是数据库...
oracle数据库忽然连不上了,一查是游标数量超了。 1.查看游标数 ... from v$open_cursor o, v$session s where user_name = 'AF651_U8' and o.sid = s.sid group by o.sid, osuser, machine order b
Oracle11g教程_第8章_游标、事务和锁 ppt
这里,`d_cursor`被定义为一个游标,用于从`Members`表中选择`IdCardNO`列的数据。 #### 二、打开游标 在声明了游标之后,我们需要通过`OPEN`命令来激活游标,使其准备好读取数据。打开游标的语法为: ```sql ...
SQL Server中的游标是数据库操作中的一个重要工具,它允许用户逐行处理查询...虽然游标可能带来性能影响,但在某些特定场景下,它们是解决问题的关键工具。理解和掌握游标使用,可以帮助开发者更高效地与数据库交互。
在这个例子中,我们声明了一个名为my_cursor的显示游标,用于获取department_id为100的员工信息。然后,我们使用`OPEN`打开游标,`FETCH`提取数据,`EXIT`判断是否到达结果集末尾,`CLOSE`关闭游标。 其次,**隐式...
【GKD-BasePL_SQL游标实现关键技术】 游标是数据库管理系统中的一种重要特性,它允许程序员逐行处理查询结果,而不是一次性加载所有数据。在PL/SQL(Oracle的过程化SQL语言)中,游标机制提供了对数据集的动态控制...
#### 四、游标(Cursor) **定义:** 游标是用于处理查询结果集的一种机制,可以逐行读取结果集中的数据。 **用途:** - 处理大量数据时,逐行处理数据而不是一次性加载所有数据到内存。 - 实现复杂的循环逻辑。 ...
条件控制_循环_游标.~sql
本DEMO "use_default_cursor.rar" 提供了一个关于如何在应用程序中使用预定义光标(Default Cursor)的实例,旨在帮助开发者更好地理解和应用这一技术。 首先,我们需要理解什么是预定义光标。预定义光标是数据库...
标题中的“oralce_游标_小葵花”暗示了我们今天将深入探讨Oracle数据库中的一个重要概念——游标。游标在数据库编程中扮演着关键角色,尤其在处理复杂的SQL查询和事务时,它们允许我们逐行处理结果集,而不仅仅是一...
- `v_salary_cursor%NOTFOUND`是一个伪列,用来判断是否已到达游标的末尾。 3. **带参数的游标** 该示例展示了如何使用带有参数的游标。 ```sql DECLARE CURSOR v_salary_cursor(in_deptNo NUMBER) IS ...
解决超出打开游标的最大数问题需要从两个方面入手:检查数据库中的 OPEN_CURSORS 参数值和获取打开的游标数。 1. 检查数据库中的 OPEN_CURSORS 参数值 要检查数据库中的 OPEN_CURSORS 参数值,可以使用以下查询: ...
3. `session_cached_cursors`:这个参数指定Oracle服务器为每个会话缓存的预编译游标数量。缓存游标有助于提高性能,因为它减少了编译SQL语句的次数。然而,它也会占用`OPEN_CURSORS`的配额。 `cursor_space_for_...
这行代码声明了一个名为`test_cursor`的游标,它将从`test`表中选择所有的`id`字段值。 2. **打开游标**: ```sql OPEN test_cursor; ``` 这行代码打开了之前声明的游标,准备从其中读取数据。 3. **获取数据...