日本語PDF

『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 TYPEREPLACE句は非推奨となりました。かわりにalter_method_spec句を使用してください。または、CREATE OR REPLACE TYPE文を使用して型を再作成することもできます。

構文およびセマンティクスの詳細は、ALTER 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とは無関係に機能強化が継続されています。

関連項目: