Oracle批量查询、删除、更新使用BULK COLLECT提高效率


本文整理自网络,侵删。

BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_integer用法笔记。

例1: 批量查询项目资金账户号为 "320001054663"的房屋账户信息并把它们打印出来 .

DECLARE 
  TYPE acct_table_type IS TABLE OF my_acct%ROWTYPE INDEX BY BINARY_INTEGER; 
  v_acct_table acct_table_type; 
BEGIN 
  SELECT * BULK COLLECT INTO v_acct_table FROM my_acct WHERE parent_fund='320001054663'; 
  FOR i IN 1..v_acct_table.COUNT LOOP 
      ---循环打印 
      dbms_output.put_line('ACCT:'||v_acct_table(i).fund|| ','||v_acct_table(i).bal||','||v_acct_table(i).real_nmbr); 
  END LOOP; 
END;

说明部分:

1. DECLARE  说明以下你要声明的部分

2. Type 声明是类型acct_table_typ e 类型的名字

3. IS TABLE OF  指定是一个集合的表的数组类型, 简单的来说就是一个可以存储一列多行的数据类型 , my_acct指出在哪个表上( 存在的表 ) %ROWTYPE 指在表上的行的数据类型.

4. INDEX BY BINARY_INTEGER  指索引组织类型

5. v_acct_table 定义一个变量来存储集合数据类型

6. BULK COLLECT INTO  指是一个成批聚合类型, 简单的来说 , 它可以存储一个多行多列存储类型 ,into 后面指定从哪里来 ,

7. v_acct_table.COUNT 用来 v_acct_table 里面的数量

8. (i)表示下标号

阅读剩余部分

相关阅读 >>

oracle 外连接实现代码

oracle 安装和卸载问题收集(集合篇)第66页

小白学oracle第二关之第一个oracle数据库表的创建

oracle表空间查看sql使用情况

linuxcentos7安装oracle11g的超完美新手教程

oracle实现分页查询的sql语法汇总

燕十八oracle视频的资源(源码课件)分享

centos 6.4下安装oracle 11gr2详细步骤(多图)

oracle分组函数之rollup的基本用法

oracle undo解析

更多相关阅读请进入《oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...