27.PLSQL中的隐式游标
来源:互联网 发布:月经 饮食 知乎 编辑:程序博客网 时间:2024/05/16 08:02
一、什么是游标
简单来理解,在PLSQL中,无论我们查询数据库还是向数据库插入、修改和删除的DML操作,凡是对数据库产生了影响,执行的sql语句都会返回一个由受影响的数据行组成的结果集,而游标就是管理这个结果集的对象。
Oracle中游标分为两种——隐式游标和显式游标,每个sql语句返回的结果集都会默认受‘SQL’这个隐式游标的管理;而显式游标是我们自定义的游标,用来管理特定的SQL语句返回的结果集。
二、通过隐式游标获取查询到的行数
假设有下面的emp表:
如下面的代码,我们在PLSQL的执行块中选中sal大于等于3000的雇员,并打印出共有多少人,就可以通过隐式游标SQL的ROWCOUNT属性来实现。
declare type emp_varray is varray(20)of emp%rowtype; v_emps emp_varray;begin select * bulk collect intov_emps from emp where sal>=3000; dbms_output.put_line('sal不小于3000的人数是:'||SQL%rowcount);end;/
结果如下:
%ROWOUNT是隐形游标的一个属性,除此之外,它还具有以下属性:
序号
属性
描述
1
%FOUND
当执行sql语句返回的结果集不为空时该值为True
2
%ISOPEN
判断游标是否打开,隐形游标中改值恒为False,表示已经打开。
3
%NOTFOUND
和%Found的判断标准正好相反。
4
%ROWCOUNT
返回的数据集的行数。
三、DML语句中使用隐形游标
3.1 Insert语句中使用隐形游标
declare typeemp_varray is varray(20) of emp%rowtype; v_emps emp_varray;begin insert into empvalues(8888,'hyman','clerk',7698,sysdate,3000,200,20); ifSQL%found then dbms_output.put_line('插入的人数是:'||SQL%rowcount); endif;end;/
3.2 update 语句中使用隐形游标
declare typeemp_varray is varray(20) of emp%rowtype; v_emps emp_varray;begin update emp set sal=10000 where empno=8888; ifSQL%found then dbms_output.put_line('修改的人数是:'||SQL%rowcount); endif;end;/
3.3 delete 语句中使用隐形游标
declare typeemp_varray is varray(20) of emp%rowtype; v_emps emp_varray;begin delete from emp where empno=8888; ifSQL%found then dbms_output.put_line('删除的人数是:'||SQL%rowcount); endif;end;/
0 0
- 27.PLSQL中的隐式游标
- plsql 显式游标
- PLSql -- 练习2 cursor 显式/隐式游标
- 【PLSQL】游标
- PLSQL游标
- PLSql--cursor 显式游标(参数)
- PLSQL编程、游标、异常
- PLSQL 游标的使用
- plsql 游标示例
- plsql-游标1
- plsql-游标2
- PLSQL==>>游标
- plsql游标使用学习
- plsql游标的操作
- oracle plsql语句、游标
- plsql中游标使用
- PLSQL之四-游标
- PLSQL之游标
- SQL批量替换指定字符
- 我想改变
- 界面的背景颜色的透明度设置
- 手机端垂直居中
- springMVC中各数据源配置
- 27.PLSQL中的隐式游标
- 最大公约数和最小公倍数解法(java)
- String的getBytes()方法
- JavaScript基础资料
- TC刷题记
- KMP算法浅析
- JS小功能(列表页面隔行变色)简单实现
- 【PMP】PMBOK 笔记 第7章 项目成本管理
- SpringMVC 拦截器的使用及声明方式