『Oracle Database PL/SQL言語リファレンス』のこのリリースの変更点
『Oracle Database PL/SQL言語リファレンス』に対する変更は、リリースごとに記載されています。
この章の内容は次のとおりです。
Oracle Databaseリリース19cにおける変更点
Oracle Database 19c以降では、多相表関数とその実装メソッドが同じパッケージで定義されていると、USING句がオプションになります。
関連項目:
-
多相表関数、構文およびセマンティクスの詳細は、「PIPELINED句」を参照
SQLマクロ
SQLマクロ(SQM)を作成して、共通のSQL式および文を、他のSQL文で使用できる再利用可能なパラメータ化された構造体にくくり出すことができます。
Oracle Databaseリリース19c, バージョン19.7以降、SQL表マクロがサポートされています。SQL表マクロは、通常FROM
句で使用される式で、多相(パラメータ化)ビューのように機能します。
SQL表マクロにより、開発者の生産性が高まり、コラボレーション開発が簡略化され、コード品質が向上します。
関連項目:
- 構文およびセマンティクスの詳細は、CREATE FUNCTION文を参照してください
- SQL_MACRO句の構文およびセマンティクス
Oracle Databaseリリース18cでの変更点
Oracle Databaseの18cのOracle Database PL/SQL言語リファレンスでは、次の新機能について説明します。
新機能
オブジェクト型の非存続性のサポート
この機能ではプログラム内の抽象データ型にマーキングをして、その使用を処理や格納またはそれら両方の用途に限定できます。
永続不可型のインスタンスは、ディスク上で保持することはできません。
関連項目:
-
構文およびセマンティクスの詳細は、
CREATE
TYPE
文の[NOT] PERSISTABLE句を参照してください。
多相テーブル・ファンクション
多相テーブル・ファンクション(PTF)は新しいタイプのテーブル・ファンクションで、PTFに渡された引数によって戻り型が決定されます。
テーブル・ファンクションは行のコレクションを返すファンクションで、SQL問合せブロックのFROM
句から呼び出せます。
この新しい多相テーブル・ファンクション(PTF)は、Oracle Databaseの分析機能を拡張するための効率的でスケーラブルなフレームワークを提供します。問合せの記述者はPTFの実装の詳細がわからなくても、これらのファンクションを呼び出すことができ、PTF側でも、ファンクションがどのように実行されるか(シリアルまたはパラレル)や、入力行がパーティション化または順序付けされているかどうかなどを把握する必要がありません。
したがってPTFは、SQL開発者やデータベース管理者が、任意的な入力表または問合せに対応できる汎用的な拡張機能を提供する場合に便利です。
詳細は、多相テーブル・ファンクションの概要を参照してください。
修飾式
集計およびそれらに必要な付加詞である修飾式によって、プログラムが明確になりプログラマの生産性が向上します。
Oracle Databaseの12cリリース2では、非スカラー・データ型の値を式を使用して提供することができました(ネストした表の型コンストラクタを使用するなど)。Oracle Databaseリリース18cからは、コンストラクタが抽象データ型の値を提供するのと同じように、どんなPL/SQL値も(たとえばレコードや連想配列用に)式を使用して提供できます。PL/SQLでは"修飾式"および"集計"と呼び、SQL用語では"型コンストラクタ"と呼びますが、両者の機能は同じです。
構文およびセマンティクスの詳細は、修飾式の概要およびqualified_expression ::=を参照してください。
非推奨となった機能
次の機能は今回のリリースで非推奨となり、今後のリリースではサポートされない可能性があります。
コマンド ALTER TYPE
... INVALIDATE
は非推奨となりました。かわりにCASCADE
句を使用してください。
ALTER TYPE
のREPLACE
句は非推奨となりました。かわりにalter_method_spec
句を使用してください。または、CREATE OR REPLACE TYPE
文を使用して型を再作成することもできます。
Oracle Databaseの12cリリース1(12.1)以降、コンパイル・パラメータPLSQL_DEBUGは非推奨となります。
PL/SQLユニットをデバッグ用にコンパイルするには、PLSQL_OPTIMIZE_LEVEL=1を指定します。
コンパイル・パラメータの詳細は、PL/SQLユニットおよびコンパイル・パラメータを参照してください。
サポート対象外機能
19cでサポート対象外になったPL/SQL言語リファレンスの機能はありません。
ノート:
Oracle Databaseアドバンスト・キューイングは、Oracle Database 19cでサポートが終了したOracle Streamsとは無関係に機能強化が継続されています。
関連項目:
- Oracle Database19cのサポート対象外機能の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください