sql 游标的关闭和释放】的更多相关文章

如果不关闭游标,就会 消息 ,级别 ,状态 ,过程 (过程名),第 xx 行 名为 'c1' 的游标已存在. 消息 ,级别 ,状态 ,过程 (过程名),第 xx 行 游标已打开. 如何关闭游标,其实和定义游标和打开游标是对应的,sql如下: declare c1 cursor for -- 定义游标 select record_id from cis_cp_occ_main where enc_id=@enc_id open c1 -- 打开游标 fetch next from c1 into…
1    什么是游标: 关系数据库中的操作会对整个行集起作用. 例如,由 SELECT 语句返回的行集包括满足该语句的 WHERE 子句中条件的所有行. 这种由语句返回的完整行集称为结果集. 应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理. 这些应用程序需要一种机制以便每次处理一行或一部分行. 游标就是提供这种机制的对结果集的一种扩展. 游标通过以下方式来扩展结果处理: 允许定位在结果集的特定行. 从结果集的当前位置检索一行或一部分行. 支持对结果集中当前位置的…
今天在项目中看到一段代码, Connection conn = null;  ResultSet rs = null;  PreparedStatement pss = null;  try  {  conn = dataSource.getConnection(USERID,PASSWORD);  pss = conn.prepareStatement(sql);  rs = pss.executeQuery();  pss.close();  conn.close();  }  catch…
刚打开游标的时候,是位于一个空行,要用fetch into 才能到第一行. 只是要注意用更新游标的时候,不能在游标期间commit. 否则会报ORA-01002: fetch out of sequence      就是COMMIT;导致错误       在打开有for update的cursor时,系统会给取出的数据加上排他锁(exclusive),       这样在这个锁释放前其他用户不能对这些记录作update.delete和加锁.       而我一旦执行了commit,锁就释放了,…
 SQL游标(cursor)详细说明及内部循环使用示例 游标 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果.每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理. 游标是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据.一般复杂的存储过程,都会有游标的出现,他的用处主要有: 定位到结果集中的某一行. 对当前位置的数据进行读写. 可以对结果集中的数据…
SQL Server游标   转载自:http://www.cnblogs.com/knowledgesea/p/3699851.html. 什么是游标 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标则是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据. 一般复杂的存储过程,都会有游标的出现,他的用处主要有: 定位到结果集中的某一行. 对当前位置的数据进行读写. 可以对结果集中的数据单独操作,而不是整行执行…
游标声明格: declare 游标名称 cursor (游标关键字) for 游标操作对象(select * from 表名称)游标使用: open 游标名称; fetch first from 游标名称 ---遍历游标操作数据对象的第一行 fetch last from 游标名称 --- 获取游标操作数据的最后一行 fetch prior from 游标名称 --- 获取游标操作数据的前一行 fetch next from 游标名称 ---获取游标操作数据的下一行 fetch absolute…
转载:http://www.cnblogs.com/moss_tan_jun/archive/2011/11/26/2263988.html 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服. 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并…
----------------SQL游标应用-----------------if object_id('tempdb..#test0001') is not null drop table #test0001---------物料临时表create table #test0001(ItemCode nvarchar(30)----物料代码 ,SL DEC(19,3)----物料所需数量 ,RowsID Bigint----用于循环物料 )if object_id('tempdb..#test…
游标提供了一种从表中检索数据并进行操作的灵活手段,主要用在服务器上,处理由客户端发送给服务器端的sql语句,或者是批处理.存储过程.触发器中的数据处理请求. 显式游标 是由用户声明和操作的一种游标,通常用于将查询出的结果集进行操作,使用它处理数据的步骤包括:声明游标,打开游标,读取游标,关闭游标. ①声明游标 cursor cur_emp is ; cur_emp:游标名称. ②打开游标 open cur_emp ③读取游标 fetct cur_emp into {variable} ④关闭游标…