Oracle 12c 新增PL/SQL功能:提升互操作性和安全性

需积分: 9 2 下载量 74 浏览量 更新于2024-07-23 收藏 437KB PPTX 举报
"12c 的新 PLSQL 功能" Oracle Database 12c引入了一系列增强的PL/SQL功能,旨在提升开发者的效率、安全性及与SQL的交互性。以下是这些新特性的详细说明: 1. **改进的客户端<>PL/SQL<>SQL互操作性** 在12.1版本之前,当将PL/SQL集合类型与SQL操作结合时,集合类型必须在模式级别定义,且只能是嵌套表或可变数组。现在,PL/SQL允许在程序包规范中定义`index-by`类型的表,这极大地提高了灵活性。例如,可以定义一个基于`pls_integer`索引的记录类型表`t`,其负载可以是记录类型`r`,其中的字段仍保持为SQL数据类型。 2. **新的安全功能** Oracle 12c加强了PL/SQL的安全措施,可能包括新的权限管理、审计功能和对敏感数据的保护。虽然具体的安全增强没有详细列出,但可以预期这些功能会帮助开发者更好地控制程序的访问权限和数据的安全性。 3. **改进的编程人员可用性** PL/SQL的易用性得到了显著提升,例如,可以直接将`index-by`类型的PL/SQL表绑定到SQL函数中,如示例1所示。这使得在PL/SQL和SQL之间传递数据变得更加便捷,减少了数据转换的复杂性。 示例1展示了如何定义一个包含`index-by`类型表`x`的包`Pkg`,以及一个返回拼接字符串的函数`f`。这个函数接受`Pkg.x`作为参数并将其绑定到SQL中执行。此外,还有示例展示了如何在SQL中直接调用这个函数,无论是通过显式调用还是使用动态SQL。 4. **与其他绑定PL/SQL index-by表到SQL** 除了直接在SQL中调用PL/SQL函数外,还可以将`index-by`表与`table`运算符一起使用,如示例2所示。这使得可以方便地遍历PL/SQL集合,并将其视为SQL查询的一部分。这大大增强了PL/SQL集合与SQL查询的集成。 5. **使用`table`运算符** `table`运算符的引入是另一个关键改进,它允许将PL/SQL集合直接用作SQL查询中的源。在示例2中,`Select_From_IBPI`过程演示了如何使用`table`运算符从`Pkg.x`中选择元素,这样可以像处理常规表那样处理PL/SQL集合。 这些新特性提升了PL/SQL的实用性和性能,使得开发者能够更高效地编写和维护数据库应用程序。它们不仅简化了PL/SQL与SQL之间的数据交互,还提供了更好的安全性和编程便利性,从而优化了整体的数据库开发体验。