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帮你为初创公司进行市场定位分析?

