`
骑自行车去旅行
  • 浏览: 11782 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

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

--2、使用游标删除数据,同上只需要将更新语句换成删除语句
--3、使用of子句在特定表上加行共享锁
Java代码
declare 
cursor emp_cursor is 
--加行共享锁 
select t.name,t.english_name from communitytype t for update of t.name; 
--定义基于游标的记录变量 
emp_record emp_cursor%rowtype; 
begin 
--打开游标 
open emp_cursor; 
loop 
fetch emp_cursor into emp_record; 
exit when emp_cursor%notfound; 
if emp_record.name = '电子图书' then 
update communitytype c 
set c.english_name = 'ebook' 
where current of emp_cursor; 
end if; 
end loop; 
close emp_cursor; 
commit; 
end; 

--4、默认情况下当前会话要一直等待对方释放锁,使用nowait子句可以避免等待锁
Java代码
declare 
cursor emp_cursor is 
--加行共享锁 
select t.name,t.english_name from communitytype t for update nowait; 
--定义基于游标的记录变量 
emp_record emp_cursor%rowtype; 
begin 
--打开游标 
open emp_cursor; 
loop 
fetch emp_cursor into emp_record; 
exit when emp_cursor%notfound; 
if emp_record.name = '电子图书' then 
update communitytype c 
set c.english_name = 'ebook' 
where current of emp_cursor; 
end if; 
end loop; 
close emp_cursor; 
commit; 
end; 
分享到:
评论

相关推荐

    oracle10g 函数返回游标类型

    游标是数据库中的一个重要概念,它允许用户在数据库中定位、检索、更新和删除数据行。当函数返回一个游标时,调用者可以使用循环或其他迭代结构来访问所有返回的记录,而不仅仅是单个结果。 ### 描述:“根据所示...

    oracle10G和oracle11G的OCI.dll

    1. OCI接口:OCI提供了丰富的API(应用程序编程接口)集合,使得开发者能够通过C语言编写应用程序,实现对Oracle数据库的各种操作,如查询、插入、更新和删除数据,事务控制,游标处理等。oci.dll作为这些API的实现...

    oracle存储过程游标

    ### Oracle 存储过程与游标使用详解 在Oracle数据库管理中,存储过程与游标是两个非常重要的概念。它们可以提高数据处理的效率、增强应用程序的灵活性,并且能够简化复杂的数据库操作。本文将根据提供的内容,深入...

    ORACLE 10G OCP 题库

    Oracle 10g OCP(Oracle Certified Professional)是Oracle公司为数据库管理员提供的专业认证,它证明了持证者在管理Oracle 10g数据库系统方面具备高级技能和知识。这个题库是准备Oracle 10g OCP考试的重要资源,...

    oracle 10g 官方教材

    3. **SQL语言基础**:Oracle 10g支持标准SQL,包括数据查询、插入、更新和删除,以及更复杂的SQL语句,如联接、子查询和集合操作。理解SQL语法和性能调优技巧是数据库管理员的基础技能。 4. **PL/SQL编程**:Oracle...

    oracle开启关闭命令

    - 通过ODBC数据源管理器删除与Oracle相关的数据源。 9. **清理注册表中的额外条目**: - `HKEY-LOCAL-MACHINE/SOFTWARE/ORACLE` - `HKEY-LOCAL-MACHINE/SYSTEM/CURRENTCONTROLSET001/SERVICEеORACLE` - `HKEY-...

    精通Oracle 10g SQL和PL SQL.zip

    Oracle 10g SQL与PL/SQL是数据库管理和开发领域中的核心技术,对于任何希望深入理解Oracle数据库系统的专业人士来说,这些都是必须掌握的知识。本资源“精通Oracle 10g SQL和PL SQL.zip”提供了全面的学习指南,帮助...

    Oracle 10G 参考手册 Oracle SQL Reference pdf

    Oracle 10G SQL Reference是Oracle数据库系统的重要文档之一,主要涵盖了在Oracle 10G环境中执行SQL查询、数据操作和数据库管理的核心概念和技术。这个参考手册为数据库管理员(DBA)、开发人员以及数据分析师提供了...

    Oracle 10g SQL操作和PLSQL所有命令集合

    Oracle 10g是一款强大的关系型数据库管理系统,其SQL(结构化查询语言)和PL/SQL(过程化SQL)是数据库管理员和开发人员进行数据管理、处理和应用开发的重要工具。下面将详细介绍这些主题中的关键知识点。 首先,...

    Oracle 10g 学习课件

    - SQL语言:学习SQL(结构化查询语言)用于数据查询、插入、更新和删除。 - PL/SQL:Oracle的专用编程语言,用于编写存储过程、函数、触发器等。 2. **Oracle 10g新特性** - Real Application Clusters (RAC):...

    oracle9i oracle11g oracle10g 性能调优 基础学习 视频地址

    - **Oracle11g**: Oracle11g在Oracle10g的基础上增加了更多的功能和改进,包括更好的分区支持、自动诊断框架、实时应用测试、更快的数据泵等。 ### 2. Oracle体系结构 - **体系结构概述**: Oracle数据库的体系结构...

    Oracle10g

    在Oracle10g中,你可以学习到如何创建、修改和删除数据库对象(如表、视图、索引),如何查询数据,以及如何进行数据的插入、更新和删除操作。此外,还涉及到了复杂的查询技术,如联接(JOINs)、子查询(Subqueries...

    oracle 10g 教程

    Oracle 10g支持SQL语言,包括数据查询、插入、更新和删除等基本操作。学习者需要掌握SELECT语句的使用,如WHERE子句、聚合函数、JOIN操作和子查询。此外,了解索引的创建和使用也是提高查询效率的关键。 三、表和...

    Oracle10g.chm 中文版 帮助文档

    Oracle10g.chm中文版帮助文档是Oracle数据库系统用户的重要参考资料,它包含了关于Oracle10g数据库管理系统的所有核心功能、API(应用程序编程接口)以及详细的使用指南。Oracle数据库是全球广泛使用的大型关系型...

    Oracle 10g SQL和PL/SQL编程指南 配套程序

    Oracle 10g SQL与PL/SQL编程指南是数据库管理员和开发者的重要参考资料,它深入浅出地介绍了如何在...通过深入研读本书,不仅可以掌握Oracle 10g的核心技术,还能为升级到更高版本或学习其他数据库系统打下坚实的基础。

    Oracle 10g 学习笔记

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

    Oracle11g中文文档

    10. **数据仓库和OLAP**:Oracle11g支持构建数据仓库,利用星型和雪花型模式,以及物质化视图、分区、物化 join 来提高分析查询性能。Oracle OLAP提供多维数据处理和分析功能。 这些只是Oracle11g众多特性和功能的...

Global site tag (gtag.js) - Google Analytics