Changes to Oracle Database PL/SQL Language Reference are described for each release.
This preface contains:
Changes in Oracle Database Release 19c
There are no major new features for 19c. However there is an enhancement to the Polymorphic Table Function.
Starting from Oracle Database 19c, if a polymorphic table function and its implementation methods are defined in the same package, then the USING clause is optional.
PIPELINED Clause for more information on polymorphic table function, syntax and semantics
Changes in Oracle Database Release 18c
For Oracle Database 18c, Oracle Database PL/SQL Language Reference documents these new features.
Non-Persistance Support for Object Types
This feature enables you to mark abstract data types used in programs for processing only, for storage only, or for mixed use.
Instances of non-persistable types cannot persist on disk.
TYPEstatement [NOT] PERSISTABLE clause for more information about the syntax and semantics
Polymorphic Table Functions
A polymorphic table function (PTF) is a new type of table function whose return type is determined by the arguments passed into the PTF.
A table function is a function that returns a collection of rows and that can be called from the
FROM clause of a SQL query block.
The new polymorphic table function (PTF) provides an efficient and scalable framework to extend the analytical capabilities of the Oracle Database. A query writer is able to call these functions without knowing the details of the implementation of the PTF and the PTF doesn't need to know about the details or how the function is being executed (e.g. in serial or parallel) or whether the input rows are partitioned or ordered.
Therefore, a PTF is useful when SQL developers and database administrators want to provide generic extensions which work for arbitrary input tables or queries.
See Overview of Polymorphic Table Functions for more information.
Aggregates and their necessary adjunct, qualified expressions, improve program clarity and programmer productivity.
Through Oracle Database 12c release 2, it was possible to supply the value of a non-scalar datatype with an expression, for example by using the type constructor for a nested table. Starting with Oracle Database Release 18c, any PL/SQL value can be provided by an expression (for example for a record or for an associative array) like a constructor provides an abstract datatype value. In PL/SQL, we use the terms "qualified expression" and "aggregate" rather than the SQL term "type constructor", but the functionality is the same.
The following features are deprecated in this release, and may be desupported in a future release.
ALTER TYPE ...
INVALIDATE is deprecated. Use the
CASCADE clause instead.
REPLACE clause of
ALTER TYPE is deprecated. Use the
alter_method_spec clause instead. Alternatively, you can recreate the type using the
CREATE OR REPLACE TYPE statement.
Starting with Oracle Database 12c release 1 (12.1), the compilation parameter PLSQL_DEBUG is deprecated.
To compile PL/SQL units for debugging, specify PLSQL_OPTIMIZE_LEVEL=1.
For information about compilation parameters, see PL/SQL Units and Compilation Parameters.
No features in PL/SQL Language Reference have been desupported for 19c.
Oracle Database Advanced Queuing continues to be enhanced and is independent of Oracle Streams, which is desupported in Oracle Database 19c.
- Oracle Database Upgrade Guide for more information about desupported features in Oracle Database 19c