当前位置:  数据库>oracle

Oracle 批量绑定forall bulk collect用法

    来源: 互联网  发布时间:2017-03-28

    本文导语:  采用bulk collect 可以将查询结果一次性的加载到collections中,而不是通过CURSOR一条一条地处理,可以在select into,fetchinto,returning into语句中使用bulk collect.  注意在使用bulk collect时,所有的into变量都必须是collections.----在 select into语...

采用bulk collect 可以将查询结果一次性的加载到collections中,而不是通过CURSOR一条一条地处理,可以在select into,fetchinto,returning into语句中使用bulk collect.
  注意在使用bulk collect时,所有的into变量都必须是collections.
----在 select into语句中使用bulk collect
   DECLARE
   TYPE SalList IS TABLE OF emp.sal%TYPE;
   sals SalList;
   BEGIn
   SELECT sal BULK COLLECT INTO sals FROM emp WHERE ROWNUM10;
    BEGIN
    OPEN c1;
    FETCH c1 BULK COLLECT INTO dept_recs;
    END;
/
----在returning into 中使用bulk collect
    CREATE TABLE emp2 AS SELECT * FROM employees;
    DECLARE
    TYPE NumList IS TABLE OF employees.employee_id%TYPE;
    enums NumList;
    TYPE NameList IS TABLE OF employees.last_name%TYPE;
    names  NameList;
    BEGIN
    DELETE FROM emp2 WHERE department_id=30;
    RETURNING employee_id,last_name BULK COLLECT INTO enums,names;
    DBMS_OUTPUT.PUT_LINE('Deleted' ||SQL%ROWCOUTN||'rows;');
    FOR i IN enms.FIRST..enums.LAST
    LOOP
    DBMS_OUTPUT.PUT_LINE('Employee #'||enums(i)||';'||names(i));
     END LOOP;
    END;
/


























Oracle 批量绑定forall bulk collect
  批量绑定(Bulk binds)可以通过减少在pl/sql 和sql引擎之间的上下文切换(context switches)提高了性能

   量绑定(Bulk binds)包括:
  (i)Input collections,use the FORALL statement,用来改善DML(INSERT,UPDATE和DELETE)操作的性能。
   (ii)Output collections,use the BULK COLLECT clause,一般用来提高查询(SELECT)的性能


    
 
 

您可能感兴趣的文章:

  • 也谈Oracle 数据库的绑定变量特性及应用
  • oracle中lpad函数的用法详解
  • Oracle中decode函数的用法
  • Oracle 系统变量函数用法指南
  • oracle while的用法示例分享
  • c#中oracle to_date函数用法举例
  • oracle 下WITH CHECK OPTION用法
  • Oracle 函数用法之decode
  • Oracle sequence序列的用法
  • [Oracle] 常用工具集之SQL*Loader的用法
  • oracle case when 语句的用法详解
  • Oracle行级锁的特殊用法简析
  • Oracle merge into用法及例子
  • oracle comment命令用法示例分享
  • Oracle to_date()函数的用法介绍
  • oracle正则表达式regexp_like的用法详解
  • Oracle to_date() 用法细节
  • 深入探讨:oracle中row_number() over()分析函数用法
  • Oracle中start with...connect by prior子句用法
  • Oracle回滚段的概念,用法和规划及问题的解决
  • Oracle MERGE INTO的用法示例介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle BULK COLLECT批量取数据解决方法
  • oracle下巧用bulk collect实现cursor批量fetch的sql语句
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3