Bulk Collect 使用说明

oracle bulk collect into 实现批量插入

  • 语法:
    fetch 游标 bulk collect into 目标 [limit num]

*** 不加limit 默认取游标中全部数据插入到目标中,如果加上limit,则限制数据量

  • 示例
    表结构:
    image

declare 
 type tb_type is table of   sales%rowtype;  --声明一个表类型  tb_type
 cursor mycursor is select productname from sales;  --定义一个游标
 my_tb tb_type;  --定义一个表类型变量
 type name_list_type is table of sales.productname%type;  --定义一个表类型
 name_list name_list_type;  --定义一个表类型变量(只有一列)
 begin
   open mycursor;   
    loop
    fetch mycursor bulk collect into name_list limit 3;  --用 bulk collect into 实现批量插入, 加 limit num  可以限定插入行数
    for it in 1..name_list.count loop
      dbms_output.put_line(name_list(it));  --这里访问数组使用  数组(索引)
    end loop;
      dbms_output.put_line('-----------');
    exit when mycursor%notfound; 
    end loop;
    close mycursor;
 end;
  • 结果

篮球
足球
羽毛球
·-----------
乒乓球
泰迪熊
·-----------

posted @   丹心石  阅读(324)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示