Plsql-arrays
PL/SQL-配列
この章では、PL/SQLの配列について説明します。 PL/SQLプログラミング言語は、 VARRAY と呼ばれるデータ構造を提供します。これは、同じタイプの要素の固定サイズの順次コレクションを格納できます。 VARRAYは、順序付けられたデータのコレクションを格納するために使用されますが、配列を同じタイプの変数のコレクションと考える方が良い場合がよくあります。
すべてのVARRAYは、連続したメモリー位置で構成されています。 最下位アドレスは最初の要素に対応し、最上位アドレスは最後の要素に対応します。
配列はコレクション型データの一部であり、可変サイズの配列を表します。 他のコレクションタイプについては、後の章「* PL/SQLコレクション」*で学習します。
Varrayタイプの作成
スキーマレベルでVARRAY型を作成するための基本的な構文は次のとおりです-
どこで、
_varray_type_name_は有効な属性名です。
_n_は、VARRAYの要素数(最大)です。
_element_type_は、配列の要素のデータ型です。
例えば、
PL/SQLブロック内にVARRAY型を作成するための基本的な構文は次のとおりです-
たとえば-
概念を理解するために、いくつかの例を試してみましょう-
例1
次のプログラムは、VARRAYの使用を示しています-
上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-
注意してください-
- Oracle環境では、VARRAYの開始インデックスは常に1です。
- VARRAYと同じ名前のVARRAYタイプのコンストラクタ・メソッドを使用して、VARRAY要素を初期化できます。
- Varrayは1次元配列です。 *VARRAYは、宣言されると自動的にNULLになり、要素を参照する前に初期化する必要があります。
例2
VARRAYの要素は、任意のデータベース表の%ROWTYPEまたは任意のデータベース表フィールドの%TYPEにすることもできます。 次の例は、概念を示しています。
データベースに保存されているCUSTOMERSテーブルを次のように使用します-
次の例では、*カーソル*を使用しています。これについては、別の章で詳しく学習します。
上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-