东台做网站的公司,2345网址导航安装,正安县网站seo优化排名,陕西建设技术学院网站目录
将 emp 数据表中部门 10 的员工工资增加 100 元#xff0c;然后使用隐式游标的 %ROWCOUNT 属性输出涉及的员工数量 动态游标的定义
声明游标变量
打开游标变量
检索游标变量
关闭游标变量
定义动态游标#xff0c;输出 emp 中部门 10 的所有员工的工号和姓名 Orac…目录
将 emp 数据表中部门 10 的员工工资增加 100 元然后使用隐式游标的 %ROWCOUNT 属性输出涉及的员工数量 动态游标的定义
声明游标变量
打开游标变量
检索游标变量
关闭游标变量
定义动态游标输出 emp 中部门 10 的所有员工的工号和姓名 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
和显式游标不同隐式游标是系统自动创建的
用于处理 DML 语句例如 INSERT、UPDATE、DELETE 等指令的执行结果或者 SELECT 查询返回的单行数据
这时隐式游标是指向缓冲区的指针。
使用时不需要进行声明、打开和关闭因此不需要诸如 OPEN、FETCH、CLOSE 这样的操作指令。
隐式游标也有前述介绍的 4 种属性使用时需要在属性前面加上隐式游标的默认名称 SQL因此隐式游标也叫 SQL 游标
将 emp 数据表中部门 10 的员工工资增加 100 元然后使用隐式游标的 %ROWCOUNT 属性输出涉及的员工数量
分析范例要实现的功能可以通过 UPDATE 语句实现然后使用 %ROWCOUNT 给出所涉及的员工数量。
具体程序代码及运行结果如下图所示 显式游标在定义时与特定的查询绑定其结构是不变的反映的是在显式游标打开的时刻当时的状态
此后如果再对数据库进行更新、删除或者插入不会影响已经打开的游标。
而动态游标也称为游标变量是一个指向多行查询结果集的指针不与特定的查询绑定可以在打开游标变量时定义查询
如果打开用户所做的修改、更新或者删除在动态游标中都会有反应 动态游标的定义
TYPE 动态游标名称 IS REF CURSOR [RETURN 返回类型 ]
其中返回类型是可选项
声明游标变量
变量名字 动态游标名称
使用前面定义的动态游标名称声明游标变量。
例如下面两条语句分别定义了一个动态游标 emp_cursor其返回类型是 emp 数据表的行记录类型
然后使用所定义的动态游标声明了一个游标变量
TYPE emp_cursor IS REF CURSOR RETURN emp%ROWTYPE;
Var_cursor emp_cursor;
打开游标变量
和前面显式游标一样使用之前要打开的游标不过由于在动态游标定义的时候并没有对应的查询语句
因此在打开游标变量的时候要同时指定游标变量所对应的查询语句当执行打开游标操作时
系统会执行对应的查询语句将查询结果放入游标变量对应的缓冲区中。其对应语法如下所示
OPEN 游标变量 FOR SELECT 语句
例如游标变量对应查询语句如下所示
OPEN var_cursor FOR SELECT * FROM emp;
检索游标变量
和前面介绍的显式游标检索的方法一样都是使用 FETCH...INTO...语句存储当前游标指向的记录值并结合简单循环结构显示查询结果中的记录
关闭游标变量
游标变量使用完应及时关闭以释放缓冲区空间
CLOSE 游标变量
定义动态游标输出 emp 中部门 10 的所有员工的工号和姓名
分析可以按照上面介绍的动态游标定义的方法逐步实现要求的功能。 如上图所示在声明部分定义了游标变量 var_cursor在程序主体部分打开游标变量的时候与查询语句建立关联
使用 FETCH...INTO...语句和 LOOP 循环结构显示符合条件的每一条记录在循环结构中使用 %NOTFOUND 属性判断当查询结构使用完后退出循环