7 高度なPL/SQL機能

この章では、高度なPL/SQL機能について紹介し、詳細は他の章やマニュアルへの参照を示しています。

トピック:

関連項目:

7.1 PL/SQLのデータ型

PL/SQLデータ型には、SQLデータ型、追加のスカラー・データ型、およびコンポジット・データ型があります。コンポジット・データ型は、ユーザーが定義します。スカラー・データ型のサブタイプも定義できます。

関連項目:

PL/SQLのデータ型

7.2 動的SQL

動的SQLは、実行時にSQL文を生成して実行するためのプログラミング方法です。この方法は、非定型の問合せシステムのような柔軟性がある汎用目的のプログラムを記述する場合、データベース定義言語(DDL)文を実行する必要があるプログラムを記述する場合、またはコンパイル時にSQL文のテキスト全体またはそのSQL文の入力変数および出力変数の数またはデータ型が不明な場合に有効です。

関連項目:

PL/SQLの動的SQL

7.3 PL/SQL最適化レベル

PL/SQL最適化レベルは、PL/SQLオプティマイザがコードを再調整してパフォーマンス向上を図ることのできる程度を決定します。このレベルは、コンパイル・パラメータPLSQL_OPTIMIZE_LEVELを使用して設定します。

7.4 システム固有の実行のためのPL/SQLユニットのコンパイル

通常、PL/SQLユニットをコンパイルして、システム固有のコード(プロセッサに依存するシステム・コード)にすると、PL/SQLユニットをスピードアップできます。システム固有のコードは、SYSTEM表領域に格納されます。

関連項目:

システム固有の実行のためのPL/SQLユニットのコンパイルの詳細は、「システム固有の実行のためのPL/SQLユニットのコンパイル」を参照してください。

7.5 例外処理

例外(PL/SQLランタイム・エラー)は、設計の失敗、コーディングの間違い、ハードウェアの障害などの多くの原因で発生する可能性があります。発生する可能性があるすべての例外を予想することはできませんが、例外が発生してもプログラムで処理を継続できるように例外ハンドラを記述できます。

7.6 条件付きコンパイル

条件付きコンパイルを使用すると、ソース・テキストを削除することなく、PL/SQLアプリケーションの機能をカスタマイズできます。たとえば、次のことが可能です。

  • 最新のデータベース・リリースで新機能を使用し、古いデータベース・リリースでアプリケーションを実行する場合にそれらの新機能を無効化することができます。

  • 開発環境でデバッグ文またはトレース文をアクティブ化し、本番サイトでアプリケーションを実行する場合にそれらの文を隠ぺいすることができます。

ただし、次の点に注意してください。

  • 条件付きコンパイルを使用して型の属性構造を変更すると、依存オブジェクトが非同期になったり、依存表がアクセス不可になる場合があるため、推奨されません。

    型の属性構造を変更するには、依存オブジェクトに変更を伝播するALTER TYPE文を使用することをお薦めします。

  • 条件付きコンパイルには、制約があります。

7.7 バルク・バインド

バルク・バインドを利用すると、PL/SQLとSQLの間で通信のパフォーマンス・オーバーヘッドが最小限になり、パフォーマンスが大幅に向上します。