`
123003473
  • 浏览: 1039280 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle 10g使用游标更新或删除数据

 
阅读更多
在定义又表示必须要带有for update子句,用于在游标结果集数据上加行共享锁,以防止其他用户在相应行上执行dml操作;当select语句引用到多张表时,使用of子句可以确定哪些表要加锁,如果没有of子句,则会在select语句所引用的全部表上加锁;nowait子句用于指定不等待锁。在提取了游标数据之后,为了更新或删除当前游标行数据,必须在update或delete语句中引用where current of 子句。
--1、使用游标更新数据
1.declare   
2.cursor emp_cursor is   
3.--加行共享锁   
4.select t.name,t.english_name from communitytype t for update;   
5.--定义变量   
6.v_name communitytype.name%type;   
7.v_enname communitytype.english_name%type;   
8.begin   
9.--打开游标   
10.open emp_cursor;   
11.loop   
12.fetch emp_cursor into v_name,v_enname;   
13.exit when emp_cursor%notfound;   
14.if v_name = '电子图书' then   
15.update communitytype c   
16.set c.english_name = 'ebook'  
17.where current of emp_cursor;   
18.end if;   
19.end loop;   
20.close emp_cursor;   
21.commit;   
22.end;  


--2、使用游标删除数据,同上只需要将更新语句换成删除语句
--3、使用of子句在特定表上加行共享锁
1.declare   
2.cursor emp_cursor is   
3.--加行共享锁   
4.select t.name,t.english_name from communitytype t for update of t.name;   
5.--定义基于游标的记录变量   
6.emp_record emp_cursor%rowtype;   
7.begin   
8.--打开游标   
9.open emp_cursor;   
10.loop   
11.fetch emp_cursor into emp_record;   
12.exit when emp_cursor%notfound;   
13.if emp_record.name = '电子图书' then   
14.update communitytype c   
15.set c.english_name = 'ebook'  
16.where current of emp_cursor;   
17.end if;   
18.end loop;   
19.close emp_cursor;   
20.commit;   
21.end;  


--4、默认情况下当前会话要一直等待对方释放锁,使用nowait子句可以避免等待锁
1.declare   
2.cursor emp_cursor is   
3.--加行共享锁   
4.select t.name,t.english_name from communitytype t for update nowait;   
5.--定义基于游标的记录变量   
6.emp_record emp_cursor%rowtype;   
7.begin   
8.--打开游标   
9.open emp_cursor;   
10.loop   
11.fetch emp_cursor into emp_record;   
12.exit when emp_cursor%notfound;   
13.if emp_record.name = '电子图书' then   
14.update communitytype c   
15.set c.english_name = 'ebook'  
16.where current of emp_cursor;   
17.end if;   
18.end loop;   
19.close emp_cursor;   
20.commit;   
21.end;  


【转载地址】http://zheng12tian.iteye.com/blog/815770
分享到:
评论

相关推荐

    Oracle11g从入门到精通2

     Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以Oracle最新版本Oracle 11g为蓝本,系统地讲述了Oracle数据库的概念、管理和应用开发等内容。  全书结构合理、内容翔实、示例丰富...

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    能够使用Oracle 11g的基本条件 在Windows 2003上安装Oracle 11g 移除Oracle 11g 第3章-熟悉数据库 什么是数据库 范式,设计关系型数据库的准则 绘制E-R图设计数据库 第4章-SQL基础 SQL-数据库沟通的语言...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     4.4.4 使用游标更新或删除数据  4.4.5 游标变量  4.5 异常处理  4.5.1 异常错误简介  4.5.2 预定义异常错误  4.5.3 非预定义异常错误  4.5.4 自定义异常  4.5.5 使用sQLCODE和sQLERRIVI  4.5.6 ...

    Oracle 10g 学习笔记

    │ oracle 常用傻瓜1000问 - oracle10g - 小呵呵.mht.lnk │ ORACLE 面试问题-技术篇.txt │ oracle10g权限与角色管理初学笔记.txt │ oracle10g的系统视图(sys、system).txt │ oracle10g系统管理之UNDO表空间 - ...

    精通Oracle.10g.PLSQL编程

    使用游标 9.1 显式游标 9.2 参数游标 9.3 使用游标更新或删除数据 9.4 游标FOR循环 9.5 使用游标变量 9.6 使用CURSOR表达式 9.7 习题 第10章 处理例外 10.1 例外简介 10.2 ...

    Oracle11g从入门到精通

     Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以Oracle最新版本Oracle 11g为蓝本,系统地讲述了Oracle数据库的概念、管理和应用开发等内容。  全书结构合理、内容翔实、示例丰富...

    Oracle.11g.从入门到精通 (2/2)

    2.3.3 手动删除Oracle遗留的成分 2.4 Oracle的应用结构 2.4.1 单磁盘独立主机结构 2.4..2 多磁盘独立主机结构 2.4.3 多数据库独立主机结构 2.4.4 C/S结构 2.4.5 分布式结构 2.5 Oracle网络与防火墙 2.5.1 Oracle网络...

    Oracle.11g.从入门到精通 (1/2)

    2.3.3 手动删除Oracle遗留的成分 2.4 Oracle的应用结构 2.4.1 单磁盘独立主机结构 2.4..2 多磁盘独立主机结构 2.4.3 多数据库独立主机结构 2.4.4 C/S结构 2.4.5 分布式结构 2.5 Oracle网络与防火墙 2.5.1 Oracle网络...

    Oracle 10g 开发与管理

    (五) 使用游标更新数据库 66 7.9 异常处理 66 (一)预定义异常 66 (二)非预定义异常 67 1.声明异常名 67 2.将异常名与标准的Oracle错误号联系起来 67 3.在Exception中对异常做处理 67 (三) 用户自定义异常 68 3....

    oracle教案(doc)+SQL Reference 10g(chm).rar

    oracle教案(doc) 1. oracle安装及基本命令 1 1.1 oracle简介 1 1.2 oracle安装 1 1.2.1 常见版本 1 1.2.2 安装: 2 1.2.3 oracle必须启动的服务 2 1.3 oracle常见的第三方工具 4 2. SQL/PLUS 5 2.1 命令行方式 5 2.2 ...

    Oracle10G培训文档

    SQL概述、SQL的分类、演示数据的结构、SQL Plus常用命令、条件查询、排序数据、数据处理函数、聚合函数、分组查询、连接查询、union和minus、添加、修改和删除、事务概述、索引、视图、序列(Sequence)、常用的DBA...

    ORACLE_PlSql-甲骨文学习笔记

    三、ORACLE 10g新增的数据类型 4 说明 4 示例 4 特殊值 4 四、ORACLE PL/SQL简介 5 1 块结构 5 2 变量和类型 6 3 条件逻辑 6 4 循环 7 5 游标 8 №1声明一些变量,用于保存select语句的返回的列值 8 №2声明游标,并...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS...

    SQL_SERVER应用与开发范例宝典_12357672.part2

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    SQL_SERVER应用与开发范例宝典_12357672.part1

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    SQL应用开发范例宝典:SQL应用开发范例宝典.iso (源码光盘)

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    SQL_SERVER应用与开发范例宝典_12357672.part3

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    基于Web的学生成绩网上查询系统 oracle课程设计

    2、 连接到oracle10g 9 3、 SQL脚本 10 第六节 数据库的实施 12 1、 触发器 12 2、 游标 13 第七节 系统部分模块演示 15 1、登陆模块 15 2、恢复以及彻底删除模块 17 第八节 课程设计小结 19 附言 20

Global site tag (gtag.js) - Google Analytics