- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
游标和触 发 器 游标简介 2-1 游标简介 2-2 逐行处理查询结果,以编程的方式访问数据 游标的类型: 游标 显式游标 2-1 显式游标在 PL/SQL 块的声明部分定义查询,该查询可以返回多行 显式游标的操作过程: Declare-----Open---?Fetch----?-- --?Close 显式游标 2-2 带参数的显式游标 声明显式游标时可以带参数以提高灵活性 声明带参数的显式游标的语法如下: CURSOR cursor_name(param_name param_type) IS select_statement; 使用显式游标更新行 2-1 允许使用游标删除或更新活动集中的行 声明游标时必须使用 SELECT … FOR UPDATE语句 CURSOR cursor_name IS SELECT statement FOR UPDATE; UPDATE table_name SET set_clause WHERE CURRENT OF cursor_name 使用显式游标更新行 2-2 循环游标 2-1 循环游标用于简化游标处理代码 当用户需要从游标中提取所有记录时使用 循环游标的语法如下: 循环游标 2-2 隐式游标 4-1 显式游标主要是用于对查询语句的处理,尤其是在查询结果为多条记录的情况下 而对于非查询语句,如修改、删除操作,则由ORACLE 系统自动地为这些操作设置游标并创建其工作区,这些由系统隐含创建的游标称为隐式游标 隐式游标的名字为SQL,这是由ORACLE 系统定义的。对于隐式游标的操作,如定义、打开、取值及关闭操作,都由ORACLE 系统自动地完成,无需用户进行处理。 格式调用为: SQL% 注:INSERT, UPDATE, DELETE, SELECT 语句中不必明确定义游标 SQL%FOUND 布尔型属性,当最近一次读记录时成功返回,则值为true; SQL%NOTFOUND 布尔型属性,与%found相反; SQL %ROWCOUNT 数字型属性, 返回已从游标中读取得记录数; SQL %ISOPEN 布尔型属性, 取值总是FALSE。SQL命令执行完毕立即关闭隐式游标。 隐式游标 4-2 隐式游标 4-3 隐式游标 4-4 SELECT INTO 语句 2-1 SELECT INTO 语句 2-2 REF游标应用:过程返回结果集 由于oracle存储过程没有返回值,它的所有返回值都是通过out参数来替代的,列表同样也不例外,但由于是集合,所以不能用一般的参数,必须要用pagkage了.所以要分两部分, 1, 建一个程序包。如下: CREATE OR REPLACE PACKAGE TESTPACKAGE AS TYPE Test_CURSOR IS REF CURSOR; end TESTPACKAGE; 2,建立存储过程,存储过程为: CREATE OR REPLACE PROCEDURE TESTC(p_CURSOR out TESTPACKAGE.Test_CURSOR) IS BEGIN OPEN p_CURSOR FOR SELECT * FROM HYQ.TESTTB; END TESTC; 可以看到,它是把游标(可以理解为一个指针),作为一个out 参数来返回值的。 练 习 编写游标打印出emp表中的职员编号、姓名、上级编号、工资 要求 职员编号和上级编号都为偶数 只打印其中的五条记录 注意考虑游标不足五条记录的情况 触发器 14.1 概述 14.2 语句触发器 14.3 行触发器 14.4 instead of触发器 14.5 系统事件触发器 14.6 用户事件触发器 14.7 禁用触发器和事务处理 14.8 查看触发器信息 14.9 事件属性函数 14.1 概述 触发器是当特定事件出现时自动执行的存储过程 特定事件可以是执行更新的DML语句和DDL语句 触发器不能被显式调用 使用触发器可以完成的功能如下: 允许或限制对表的修改; 自动生成派生列; 强制数据一致性; 提供审计和日志记录; 防止无效的事务处理; 启用复杂的业务逻辑。 在Oracle系统中,触发器有4个组成部分,即触发器名称、触发语句、触发器限制和触发操作。下面详细介绍这些组成部分。 例子 --触发器create or replace trigger tri_emp_empnobefore insert or update --insert or update 意思是指insert 或update语句执行时就触发o
您可能关注的文档
- 专升本数据结构课程总结课件.doc
- 初中数学常用定理&推论及公式汇编.doc
- 软件工程基础复习概论.doc
- 20100907-修正[专利审查基准第一篇程序审查和专利权管理]部分规定 第一篇第二章_发明专利划线页.doc
- 计算机理论1-6节.docx
- CAN总线网络和其在工程机械控制系统上的应用.doc
- 砼振捣和浇筑技术交底.doc
- 滕王阁序原文和注解(繁体字).doc
- 第十一章 计算机网络术语.doc
- 操作系统B2卷(副本).doc
- comparing modal patterns chinese-english interpreted and translated discourses diplomatic setting systemic functional approach比较中文英语解释翻译话语模态模式.pdf
- 轻松开始业务一个.pdf
- unit 5 what were you doing when the rainstorm camesection whe5单元当暴雨Camesection3a Whe时您在做什么.pptx
- 人教版七级数学上册三章一元一次方程单元复习课件.pptx
- 产-英菲尼迪维修信息系统.pdf
- 说明成果req ant uart rx sysclk cts nokia arte 233诺基亚8800ARTERM.pdf
- 终精英特训课程adobe illustrator基础课三期六节课.pptx
- 文本案例一课时unit6 parta let talk.pptx
- 繁殖或显示章基本电路应用kvldi 0 dt lch8 basic and circuits.pdf
- 安地区锦标赛秋季结果.pdf
文档评论(0)