oracle强弱动态游标,Oracle动态游标的使用
Oracle动态游标的使用
----定义
TYPE cursor_type IS REF CURSOR;
c1 cursor_type;
----使用
--打开动态游标,再往下就都一样了
OPEN c1 FOR sql2;
LOOP
FETCH c1
INTO r_c1;
EXIT WHEN c1%NOTFOUND;
END LOOP;
实例
1、SQL语句为单条查询结果
DECLARE
TYPE cursor_type IS REF CURSOR;
c1 cursor_type;
l_count NUMBER;
BEGIN
OPEN c1 FOR
SELECT COUNT(*) FROM cux_gl_je_headers h;
LOOP
FETCH c1
INTO l_count;
EXIT WHEN c1%NOTFOUND;
END LOOP;
dbms_output.put_line('l_count = ' || l_count);
END;
2、SQL语句为多条查询结果
使用fetch bulk collect into批量读取数据
DECLARE
TYPE type_record_rec IS RECORD(
je_header_id NUMBER,
org_id NUMBER,
je_category VARCHAR2(240),
je_source VARCHAR2(240)); --定义记录组
TYPE type_record_tb1 IS TABLE OF type_record_rec INDEX BY PLS_INTEGER;
l_type_record_tb1 type_record_tb1;
TYPE cursor_type IS REF CURSOR; --动态游标定义
c1 cursor_type;
l_count NUMBER;
BEGIN
OPEN c1 FOR
SELECT h.je_header_id, h.org_id, h.je_category, h.je_source
FROM cux_gl_je_headers h; --打开游标
LOOP
EXIT WHEN c1%NOTFOUND; --游标没有数据退出
FETCH c1 BULK COLLECT
INTO l_type_record_tb1 LIMIT 10000; --批量取数
END LOOP;
FOR i IN 1 .. l_type_record_tb1.count LOOP
dbms_output.put_line('=====================================================');
dbms_output.put_line('l_type_record_tb1(' || i || ').je_header_id = ' || l_type_record_tb1(i)
.je_header_id);
dbms_output.put_line('l_type_record_tb1(' || i || ').org_id = ' || l_type_record_tb1(i)
.org_id);
dbms_output.put_line('l_type_record_tb1(' || i || ').je_category = ' || l_type_record_tb1(i)
.je_category);
dbms_output.put_line('l_type_record_tb1(' || i || ').je_source = ' || l_type_record_tb1(i)
.je_source);
END LOOP;
END;
oracle强弱动态游标,Oracle动态游标的使用相关推荐
- 【Oracle】PL/SQL 显式游标、隐式游标、动态游标
在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...
- Oracle优化07-分析及动态采样-DBMS_STATS 包
思维导图 07系列文章 Oracle优化07-分析及动态采样-直方图 Oracle优化07-分析及动态采样-DBMS_STATS 包 Oracle优化07-分析及动态采样-动态采样 DBMS_STAT ...
- Oracle 原理:游标,显示游标、隐式游标、参照游标
Oracle 游标有三种:显示游标.隐式游标.参照游标. fetch...bulk collect into select 语句会把结果集全部返回给用户,而无法对结果集中的每行数据进行单独的操作.因此 ...
- oracle表 游标,Oracle游标表达式和表函数
Oracle游标表达式是Oracle数据库中的重要概念,下面就为您详细介绍Oracle游标表达式和表函数方面的知识,供您参考学习之用. Oracle游标表达式(有时称为游标子队列)是 SQL 语言的一 ...
- oracle中创建游标,oracle 存储过程创建游标
Oracle与Sql Server差异点详解 1.create函数或存储过程异同点 Oracle 创建函数或存储过程一般是 create or replace -- SQL SERVER 则是在创建之 ...
- oracle 记录给游标,Oracle游标 CURSOR实例详解
一.游标概述: 游标(cursor)是数据库系统在内存中开设的一个数据缓冲区,存放SQL语句的执行结果. 每个游标都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给变量做进一步处理. 作用 ...
- oracle+sga+pga用途,Oracle9i 动态SGA,PGA特性探索
Oracle9i 动态SGA,PGA特性探索 更新时间:2009年03月03日 23:23:54 作者: 虽然Oracle9i中的内存管理仍然需要很多的手工操作,不过大部分的Oracle管理员可以 ...
- oracle cusor游标,oracle 游标cursor
游标 声明 不占内存 打开 申请内存 多行多列 获取 每次取一行, 关闭 隐式游标的属性: SQL%ROWCOUNT 成功操作的行的数量 SQL%FOUND ...
- 游标(概念、优点、分类、静态游标的使用(显示游标(显示游标的属性、遍历显示游标、显示游标的FOR循环)、隐式游标(隐式游标的属性))、动态游标的使用、静态游标和动态游标的区别、更新或删除当前游标数据
文章目录 游标 游标概念 游标优点 游标分类 静态游标的使用 显示游标 显示游标的属性 遍历显示游标 显示游标的FOR循环 接收显式游标数据的数据类型(普通变量.记录变量.集合变量) 通过游标更新.删 ...
- oracle存储过程 关于update的动态SQL-工作心得
oracle存储过程 关于update的动态SQL-工作心得 本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 12 月 20 日 原地址:https://niaobulash ...
最新文章
- 简洁易懂,初学者挑战学习Python编程30天 (一)
- centos7 安装 wireshark
- DQN笔记:MC TD
- “北航Clubs” Alpha版发布!
- 用shell查看关键数据
- eclipse svn设置忽略文件
- Linux设备驱动模型-Kobject
- linux系统的电脑要不要买,是否有必要为Linux购买一台相对较高配置的电脑?
- 面向对象程序设计概念
- JavaScript学习总结
- ir2104s的自举电容_有关IR2104的自举电容和NMOS选择问题 - 图文 -
- 计算机职业价值观测评报告,职业价值观测评—中国毕业生职业能力素质测评系统...
- 半导体封装行业晶圆划片机的切割良率如何把控?
- 扑克牌练习 【数据结构】
- wiki维基百科各种语料数据下载
- Cucumber之二Gherkin语言学习
- 漏洞通告 | Atlassian Confluence存在远程代码执行漏洞,悬镜云鲨RASP天然免疫防护...
- 数据结构—— 一元多项式的运算(相加,相减,相乘)【C语言实现】
- 笔记本计算机打开任务管理器,笔记本电脑按哪个键打开任务管理器
- android jsoup 课程表,使用jsoup爬取数据实现android课程表