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

发布时间 - 2026-01-11 00:53:53    点击率:

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)表示下标号

例2: 批量更新项目资金账户号为 "320001054663"的房屋账户的余额。

DECLARE 
  TYPE fund_table_type IS TABLE OF acct.fund%TYPE; 
  TYPE bal_table_type IS TABLE OF acct.bal%TYPE; 
  v_fund_table fund_table_type; 
  v_bal_table bal_table_type; 
BEGIN 
  UPDATE acct SET bal=bal*1000 WHERE parent_fund='320001054663' RETURNING fund,bal BULK COLLECT INTO v_fund_table,v_bal_table; 
  FOR i IN 1..v_fund_table.COUNT LOOP 
      dbms_output.put_line('ACCT:'||v_fund_table(i)||','||v_bal_table(i)); 
  END LOOP; 
END; 

说明部分:

1. %TYPE和 acct.fund数据类型一样

  v_fund_table fund_table_type;

2. v_bal_table bal_table_type; 定义变量来存储它们 .

3. RETURNING 用来指定要返回的部分 ,BULK COLLECT INTO  成批聚合类型

4. 用for  把它们打印出来

总结 :

  • 实验时把set serveroutput on  打开
  • 以上的例子的目的主要是为了提高性能. 这里的性能主要指的是速度  .
  • 速度指的是批量插入, 更新 , 删除  , 为什么会提高速度呢 ?  提取到的数据都在内存中进行处理, 因为在内存处理比较快 , 这是常识 .

以上所述是小编给大家介绍的Oracle批量查询、删除、更新使用BULK COLLECT提高效率,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# oracle批量查询  # 删除  # 更新  # bulk  # collect  # Oracle批量插入数据的三种方式【推荐】  # C# Oracle批量插入数据进度条的实现代码  # Oracle + Mybatis实现批量插入、更新和删除示例代码  # MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)  # Oracle两张表关联批量更新其中一张表的数据  # mybatis执行批量更新batch update 的方法(oracle  # mysql两种)  # Oracle批量导入文本文件快速的方法(sqlldr实现)  # Oracle+Mybatis的foreach insert批量插入报错的快速解决办法  # Java实现mybatis批量插入数据到Oracle  # Oracle批量执行sql语句之禁用所有表的外键  # oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert  # Oracle 高速批量数据加载工具sql*loader使用说明  # Oracle数据库更新大批量数据案例  # 是一个  # 指的是  # 小编  # 打印出来  # 表上  # 这是  # 都在  # 你要  # 在此  # 给大家  # 它可以  # 较快  # 并把  # 所述  # 给我留言  # 感谢大家  # 为了提高  # 提高效率  # 主要是  # 疑问请 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: php打包exe后无法访问网络共享_共享权限设置方法【教程】  如何在宝塔面板中修改默认建站目录?  如何快速生成高效建站系统源代码?  如何在搬瓦工VPS快速搭建网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何在IIS服务器上快速部署高效网站?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何在万网ECS上快速搭建专属网站?  如何实现javascript表单验证_正则表达式有哪些实用技巧  公司门户网站制作流程,华为官网怎么做?  Laravel怎么调用外部API_Laravel Http Client客户端使用  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  教你用AI润色文章,让你的文字表达更专业  奇安信“盘古石”团队突破 iOS 26.1 提权  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  如何在云主机快速搭建网站站点?  原生JS实现图片轮播切换效果  详解Android图表 MPAndroidChart折线图  js实现点击每个li节点,都弹出其文本值及修改  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  JavaScript如何实现继承_有哪些常用方法  开心动漫网站制作软件下载,十分开心动画为何停播?  Laravel如何使用Eloquent进行子查询  Laravel如何实现一对一模型关联?(Eloquent示例)  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel Docker环境搭建教程_Laravel Sail使用指南  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  用yum安装MySQLdb模块的步骤方法  PHP正则匹配日期和时间(时间戳转换)的实例代码  详解Android——蓝牙技术 带你实现终端间数据传输  Laravel如何自定义分页视图?(Pagination示例)  如何快速生成可下载的建站源码工具?  如何在服务器上配置二级域名建站?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  浅谈javascript alert和confirm的美化  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  大型企业网站制作流程,做网站需要注册公司吗?  怎么用AI帮你为初创公司进行市场定位分析?