- Advanced Oracle PL/SQL Developer's Guide(Second Edition)
- Saurabh K. Gupta
- 280字
- 2021-08-20 10:43:51
Oracle Database 12c enhancements to PL/SQL subprograms
Oracle Database Release 12c includes a number of PL/SQL feature enhancements. These enhancements are focused on improving the usability of PL/SQL as a language. Although the next chapter will discuss many more new features in detail, it is worthwhile to mention a few of them that are exclusively related to Oracle PL/SQL subprograms.
- Defining PL/SQL subprograms in the
SELECT
statement: Although PL/SQL allows the invoking of a function from theSELECT
statement, the context switch from SQL to the PL/SQL engine degraded the performance. Oracle 12c allows creating PL/SQL units in theWITH
clause of a subquery and using it in theSELECT
statement. The new approach to calling functions in SQL statements enhances the performance as there is no context switching across the engines. In addition, these functions are not stored in the database schema. - Granting roles to program units: One of the challenges in PL/SQL before Oracle 12c was that a program unit had to be created with definers rights, if it was intended to be executed by all users. A user with a lower set of privileges could perform the unauthorized changes. With Oracle 12c, granting roles to PL/SQL program units adds a levels of safety. You can now create program units with invoker's rights and control the privileges, which are required to run the program, through a role.
- Protecting PL/SQL unit access through the
ACCESSIBLE
BY
clause: With Oracle 12c, you can restrict access to a PL/SQL unit by unauthorized programs. A subprogram (a procedure, function or a package) can optionally include anACCESSIBLE
BY
clause to define a white list of PL/SQL program units that can invoke it.
推薦閱讀
- Software Defined Networking with OpenFlow
- Python從小白到大牛
- Android 9 Development Cookbook(Third Edition)
- 新手學(xué)Visual C# 2008程序設(shè)計
- Learn Programming in Python with Cody Jackson
- PHP+MySQL網(wǎng)站開發(fā)項目式教程
- JavaScript 程序設(shè)計案例教程
- Building Serverless Applications with Python
- SQL Server從入門到精通(第3版)
- Salesforce Reporting and Dashboards
- ASP.NET程序開發(fā)范例寶典
- Apache Camel Developer's Cookbook
- 一步一步跟我學(xué)Scratch3.0案例
- Node.js從入門到精通
- 算法圖解