oracle 之 游标
本期主题 灰蓝
游标用来处理从数据库中检索的多行记录(使用SELECT语句)存放的是select 的结果
利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集
--隐式游标
begin
update v_emp set ename='陈明羽' where empno = 7369;
if SQL%found then
dbms_output.put_line('隐式游标被找到');
end if;
end;
-- 显示游标被用于处理返回多行数据的SELECT 语句
-- 方式1
declare
v_row v_emp%rowtype;
--创建游标
cursor c_s is
select * from v_emp;
begin
--打开游标
open c_s;
loop
fetch c_s
into v_row;
exit when c_s%notfound;
dbms_output.put_line(v_row.ename);
dbms_output.put_line(v_row.sal);
end loop;
--关闭游标
close c_s;
end;
-- 方式2
declare
v_row v_emp%rowtype;
cursor cur is select * from v_emp;
begin
-- for循环 不用打开和关闭游标
for v_row in cur loop
dbms_output.put_line(v_row.ename);
dbms_output.put_line(v_row.sal);
end loop;
end;
-- 方式3
declare
v_row v_emp %rowtype;
cursor cur is
select * from v_emp;
begin
open cur;
--赋值到一个变量
fetch cur
into v_row;
while cur%found loop
dbms_output.put_line(v_row.ename);
dbms_output.put_line(v_row.sal);
fetch cur
into v_row;
end loop;
close cur;
end;
-- ref游标 动态sql查询 有return a_rows%rowtype的是强类型的
declare
type cur is ref cursor;
a_cur cur;
a_row v_emp%rowtype;
begin
open a_cur for
select * from v_emp;
fetch a_cur into a_row;
while a_cur%found loop
dbms_output.put_line(a_row.ename);
dbms_output.put_line(a_row.sal);
fetch a_cur
into a_row;
end loop;
close a_cur;
end;
oracle 之 游标的更多相关文章
- 设置ORACLE数据库游标大小
先用超级管理员(sys)登陆服务器: sqlplus "sys/***@orcl as sysdba" 连接到:Oracle 查看ORACLE最大游标数: SQL> show ...
- Oracle使用游标为所有用户表添加主键语句
应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快.本程序适合在导入Oracle数据库时删除不存在主键的情况下运行. 代码说明:所有的表主键字段名都设置为ID,如果已存在I ...
- Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串
应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select 逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_ ...
- Oracle使用游标删除所有用户数据表中的所有记录脚本
应用场景:因为数据库中的数据涉及机密信息,希望一次性能删除掉所有数据,只保留数据表结构,供新项目开发程序用 测试结果:经查询已删除所有数据 存在问题:数据表如果存在外键的话下面脚本可能执行不成功,请自 ...
- Oracle最大游标数控制
/************************************************************************ ********* Oracle最大游标数控制 ** ...
- Oracle PLSQL游标、游标变量的使用
参考文章:https://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html 在 PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实 ...
- Oracle使用游标查询所有数据表备注
功能作用:应用对应的SQL语句,能方便快速的查询Oracle数据库指定用户的所有用户表说明,快速知道每个数据表是做什么的,方便写文档和方案. 运行环境:搭建好Oracle数据库,并使用PQ/SQL D ...
- Oracle数据库—— 游标的创建和应用
一.涉及内容 游标的创建与应用 二.具体操作 (一)填空题 1.PL/SQL 程序块主要包含3个部分:声明部分.(执行部分 ).异常处理部分. 2.自定义异常必须使用(RAISE )语句引发. (二) ...
- Oracle基础 游标
一.游标 游标用来处理从数据库中检索的多行记录(使用SELECT语句).利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集. 为了处理SQL语句,Oracle将在内存中分配一个区域,这就是上下 ...
- Oracle 基础 游标
一:游标的基本原理 游标用来处理从数据库中检索的多行记录(使用SELECT语句).利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集. 为了处理SQL语句,Oracle将在内存中分配一个区域, ...
随机推荐
- 多线程 - CyclicBarrier
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarri ...
- openfire3.9.1 开发配置
1.在官网上下载最新的openfire源码 eg:openfire_src_3.9.1.zip 大概是一百多M 2.解压源码文件 一下步骤参考此同学的博客:http://redhacker.ite ...
- LeetCode Kth Largest Element in an Array
原题链接在这里:https://leetcode.com/problems/kth-largest-element-in-an-array/ 题目: Find the kth largest elem ...
- Extjs 中column的renderer使用方法
renderer: function(value, cellmeta, record, rowIndex, columnIndex, store) { if (record.get('productT ...
- Android 自定义RecyclerView 实现真正的Gallery效果
http://blog.csdn.net/lmj623565791/article/details/38173061
- Jmeter关联
一.Jmeter关联的方式: Jmeter中关联可以在需要获取数据的请求上 右键-->后置处理器 选择需要的关联方式,如下图有很多种方法可以提取动态变化数据: 二.正则表达式提取器: 1.比如 ...
- html2canvaces用法,js截屏并且下载
1.首先自己下载引入html2canvaces和jquery(我的demo路径是自己本地的) 2.点击截屏按钮后,跳出层的其他部分是取消保存,点击截取获得的图片区域,表示保存 <!DOCTYPE ...
- 由FutureTask的get方法靠什么机制来阻塞引发的思考
1. FutureTask的get方法靠什么机制来阻塞 看其get方法源码: /** * @throws CancellationException {@inheritDoc} */ public V ...
- SVN 多项目管理(强烈建议每个项目建一个库)
Subversion的目录结构是很自由的,所有的规划都必须是你自己规定,考虑一个 subversion仓库的目录树,你可以把任何一个目录认定为一个项目,你可以只checkout这个目录下的所有文件进行 ...
- Linux Server 14.04输入数字变为了*
虚拟机装好了Ubuntu14.04后,大键盘上边的数字输入时变为了*(奇葩的加密吗?!!) 从网上看到别人都遇到的是小键盘输入数字时,会变为字符,我这小键盘却是没问题,大键盘有问题奇葩. 如果小键盘输 ...