游标存储过程触发器.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
游标存储过程触发器

第6章 游标、存储过程和触发器 课程描述 介绍Oracle数据库程序设计中经常会用到的3个概念,即游标、存储过程和触发器。 本章知识点 游标 存储过程管理 触发器管理 游标 游标的基本概念 游标控制语句 游标属性 游标FOR循环 游标的基本概念 游标就是一种定位并控制结果集的机制 将游标放置到某行后,即可对该行数据进行操作,提取当前行数据。 游标示意图 游标的基本概念 ORACLE游标可分为两种:显示游标和隐式游标 隐式游标不需要声明,使用时也不需要执行打开和关闭操作 实际上,隐式游标是在SELECT语句中增加INTO子句,把结果集自动读取到指定的变量中。 【例】使用SELECT语句声明隐式游标,从users表中读取username字段的值到变量DepName: SET ServerOutput ON; DECLARE DepName varchar2(40); BEGIN SELECT username INTO DepName FROM users WHERE userid=1; dbms_output.put_line(DepName); END; 游标的基本概念 显示游标需要声明,在使用之前需要打开游标,使用完成后要关闭游标。 使用显式游标 (1)说明游标。声明游标名及游标中使用的SELECT语句。 (2)打开游标。执行说明游标时定义的SELECT语句,把查询结果装入内存,游标位于结果集的第1条记录位置。 (3)读取数据。从结果集的游标当前位置读取数据,执行完成后游标后移一行。 (4)关闭游标。释放结果集和游标占用的内存空间。 游标控制语句 (1)声明游标语句CURSOR: DECLARE CURSOR 游标名 [ (参数列表) ] IS SELECT语句; 【例】声明一个游标MyCur,读取指定类型的用户信息: DECLARE CURSOR MyCur(varType NUMBER) IS SELECT UserId, UserName FROM Users WHERE UserType = varType; 游标控制语句 (2)打开游标语句OPEN: OPEN 游标名 [ (参数列表) ]; 【例】打开游标MyCur,读取类型为1的用户信息: OPEN MyCur(1); 游标控制语句 (3)游标取值语句FETCH。游标取值语句FETCH的基本语法结构如下: FETCH 游标名 INTO 变量列表; 【例】在打开的游标MyCur的当前位置读取数据: FETCH MyCur INTO varId, varName; (4)关闭游标语句CLOSE: CLOSE 游标名; 【例】关闭游标MyCur: CLOSE MyCur; 游标控制语句 【例】下面介绍一个完整的游标应用实例: /* 打开显示模式 */ SET ServerOutput ON; DECLARE --开始声明部分 varId NUMBER; --声明变量,用来保存游标中的用户编号 varName VARCHAR2(50); --声明变量,用来保存游标中的用户名 --定义游标, varType为参数, 指定用户类型编号 CURSOR MyCur(varType NUMBER) IS SELECT UserId, UserName FROM Users WHERE UserType = varType; BEGIN --开始程序体 OPEN MyCur(1); --打开游标,参数为1,表示读取用户类型编号为1的记录 FETCH MyCur INTO varId, varName; --读取当前游标位置的数据 CLOSE MyCur; --关闭游标 dbms_output.put_line(用户编号: || varId ||, 用户名: || varName); --显示读取的数据 END; --结束程序体 游标属性 (1)%ISOPEN属性 判断游标是否被打开,如果游标被打开,则%ISOPEN等于TRUE,否则%ISOPEN等于FALSE。 【例】下面的代码演示当使用未打开的游标时,将会出现错误: /* 打开显示模式 */ SET ServerOutput ON; DECLARE --开始声明部分 varName VARCHAR2(50); --声明变量,用来保存游标中的用户名 varId NUMBER; --声明变量,用来保存游标中的用户编号 --定义游标, varType为参数, 指定用户类型编号 CURSOR MyCur(varType NUMBER) IS SELE

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档