`

Oracle 高级特性

 
阅读更多

本地动态SQL
1.执行非查询语句和PL/SQL块

DDL,DML语句最后不能加分号, 而PL/SQL块最后需要加分号

可以使用using 子句执行带有绑定变量的语句:

2.执行查询
类似于游标变量,查询也是使用OPEN FOR语句执行的。它们的区别是包含查询的串可以是PL/SQL变量,而非文字。与其他任何变量一样,也可以从得到的游标变量中提取数据。对于绑定,就像EXECUTE IMMEDIATE一样,USING子句是可用的。

EXECUTE IMMEDIATE也可以用于单行查询,可以带绑定变量也可以不带

3.成批绑定:
PL/SQL语句块中的SQL语句被发送到SQL引擎中进行执行。SQL引擎可以依次把数据发送回PL/SQL引擎(作为查询的结果)。在许多情况下,在数据库中将要插入或更新的数据首先放到一个PL/SQL集合中,然后该集合使用FOR循环进行迭代计算,并把信息发送到SQL引擎。对于该集合中的每一行,都将产生一个PL/SQL和SQL之间的上下文开关。
Oracle8i及更高版本允许你把一个集合里的所有行在一次操作中都传递到SQL引擎中,删除到只剩一个上下文开关,这叫做成批绑定,它使用FORALL语句来完成,下面是一个例子:

FORALL的事务性问题,如果在处理成批DML操作中的一行时有错误,则只有该行被回滚。该行之前的行仍然被处理。这与使用OCI或预编译器的成批操作具有相同的行为。
Oracle9i的SAVE EXCEPTION 子句可以用于FORALL语句。使用这个子句,在批处理期间发生的任何错误都将被保存,并且该处理将会继续。可以使用SQL%BULK_EXCEPTION属性来查看该异常,该属性起着SQL*Plus表的作用。如下:

BULK COLLECT子句可用作SELECT INTO,FETCH INTO,RETURNING INTO子句的一部分,并将从查询中把行检索到所指示的集合中。

注:FORALL可以用于集合类型以及INSERT,UPDATE,DELETE 语句中,而BULK COLLECT子句用于取数据

分享到:
评论

相关推荐

    【全中文手稿】Oracle专家高级编程

    二、Oracle高级特性 1. 触发器和存储过程:如何利用触发器实现数据的自动维护,以及创建和调用存储过程,提高应用程序的性能和逻辑复杂性。 2. 分区技术:介绍分区表和索引的类型(如范围、列表、哈希分区),以及...

    Oracle 高级编程书籍

    调优是Oracle高级编程的重要部分,涵盖SQL调优、存储调优、内存调优和并发控制等多个方面。SQL调优主要通过优化查询结构、减少全表扫描、使用索引等方式实现。存储调优涉及到表空间、数据块、段和分区等概念,调整...

    oracle_专家高级编程

    总之,《Oracle专家高级编程》是一本全面覆盖Oracle高级特性的书籍,适合希望提升自己在Oracle领域专业技能的读者。通过深入学习,读者不仅可以掌握高级数据库管理技巧,还能在解决实际问题时游刃有余,成为一名真正...

    Oracle SQL高级编程

    2. 高级查询技术:使用Oracle SQL的高级特性,如分析函数、子查询、连接以及数据聚合等。 3. 事务处理:深入理解如何使用Oracle的事务控制语句,如COMMIT、ROLLBACK以及SAVEPOINT,进行有效的事务管理。 4. 锁机制:...

    C#使用Oracle.ManagedDataAccess.dll轻松访问oracle数据库

    此外,这个库还提供了对Oracle高级特性,如PL/SQL过程、函数和类型的支持。你可以通过`OracleCommand`的`ExecuteNonQuery`、`ExecuteScalar`和`ExecuteReader`方法来调用这些存储过程。 总的来说,Oracle....

    dba教材 oracle教程

    四、Oracle高级特性 Oracle数据库还包含许多高级特性,如Real Application Clusters(RAC)实现高可用性,Data Guard用于灾难恢复,分区功能增强大数据处理能力,Materialized Views加速复杂查询,以及Advanced ...

    Oracle基础第三版 Oracle Essentials

    通过《Oracle基础第三版 Oracle Essentials》的学习,读者将对Oracle数据库有一个全面的认识,掌握基本的数据库管理技能,为进一步深入研究Oracle高级特性,如数据仓库、分布式系统和实时应用集群等打下坚实的基础。...

    完整的oracle学习资料

    五、Oracle高级特性 Oracle包含许多高级特性,如分区、物化视图、游标、索引组织表、 materialized path、RAC(Real Application Clusters)等。理解并运用这些特性,能够提高数据库的性能和可扩展性,解决大规模...

    几本oracle好书

    8. **Oracle高级特性**:如物化视图、物质化子查询、触发器、存储过程、游标、并行执行等,这些特性在复杂业务场景中十分关键。 9. **Oracle RAC与Data Guard**:高可用性和灾难恢复解决方案,Real Application ...

    oracle培训教材

    三、Oracle高级特性 Oracle提供了一系列高级特性,如物化视图、分区、物质化子查询、递归查询等,这些在大数据处理和复杂业务场景中尤为关键。物化视图可以预先计算并存储查询结果,提高查询效率;分区技术可以将大...

    oracle 从入门到精髓

    七、Oracle高级特性 Oracle还提供了许多高级特性,如物质化视图、物化查询表、数据库链接、存储过程、触发器、游标等,这些都是解决复杂业务问题的工具。深入理解并掌握这些特性,能让你在Oracle数据库应用中更加...

    Python连接Oracle驱动

    `cx_Oracle`是Python与Oracle数据库交互的一个高效、稳定的接口,它允许Python程序员直接使用Oracle的数据类型,并提供了对Oracle高级特性的支持。 1. **Python的数据库API(DB-API)**: Python有一个标准的数据库...

    oracle-data-provider-net.pdf

    另外,***还支持对Oracle高级特性,如Oracle XML DB、Oracle Spatial和Oracle RAC等的支持。 由于***是官方提供的,因此它被设计为能够提供最佳性能,并且通过Oracle的测试确保与Oracle数据库的兼容性。对于.NET...

    Oracle数据库学习课件

    5. **Oracle高级特性**:如分区、索引、物化视图、数据库链接、游标、存储过程等,这些都是提升数据库性能和效率的关键工具。此外,可能还会讲解Oracle的并行执行、RAC(Real Application Clusters)集群技术以及...

    零点起飞学 Oracle.pdf 清华大学出版

    ### 四、Oracle高级特性 1. **分区**:通过将大表或索引分割成较小的部分,可以提高查询性能和管理效率。 2. **索引组织表**:使用索引来组织表数据,从而加快查询速度并减少磁盘I/O。 3. **存储过程与函数**:存储...

    OracleOracleExpert_one-on-one_Oracle

    六、Oracle高级特性 1. 高可用性:如RAC(实时应用集群)、Data Guard等,确保数据库的高可用性和灾难恢复能力。 2. 分布式数据库:介绍分布式数据库的概念,包括分布式事务处理和分布式查询。 3. 大数据集成:探讨...

    ORACLE的思维导图

    12. **Oracle高级特性**:如物化视图、物质化查询表、 flashback技术、并行执行、分布式数据库等。 通过这张“思维导图数据库”,学习者可以清晰地看到各个知识点之间的关系,逐步深入Oracle的世界。同时,由于提到...

    收获,不止oracle

    ### Oracle高级特性 - **分区**:分区是提高大型表处理速度的有效手段。书中可能讲解了如何创建和管理分区表。 - **索引组织表(IOT)**:IOT能够显著提高查询性能,尤其是在频繁访问相同记录的情况下。 - **事务处理...

    韩顺平玩转oracle ppt讲义

    10. **Oracle高级特性**:如物化视图、数据库链接、物质化子查询、 flashback技术等,这些特性可以帮助解决复杂的应用场景和问题。 通过"韩顺平玩转Oracle ppt讲义"的学习,无论是初学者还是有一定经验的DBA,都...

    oracle学习大全

    六、Oracle高级特性 1. 分区表:理解分区表的概念,包括范围、列表、哈希和复合分区,以及分区的维护和查询优化。 2. Materialized Views:使用物化视图实现数据的预先计算和缓存,提升查询性能。 3. 集群与RAC:...

Global site tag (gtag.js) - Google Analytics