ORACLE機能 PL/SQL

[PL/SQL] 配列(VARRAY)を生成する

投稿日:

配列(VARRAY)を生成するサンプルです。

サンプル

例)配列(VARRAY)を初期化・値セット・値取出しを行うサンプル

実行例
SQL> exec P_SAMPLE_VARRAY COUNT数:5 hoge1 hoge2 hoge3 hoge4 PL/SQLプロシージャは正常に完了しました。 SQL>

実行前に「set serveroutput on」を実行しておく必要があります。

配列(VARRAY)のメソッド

配列(VARRAY)には、以下のようなメソッドがあります。

.FIRST初期化された最初のインデックス番号を返す
※要素が1件も無い場合はNULLが返る
.LAST初期化された最後のインデックス番号を返す
※要素が1件も無い場合はNULLが返る
.COUNT初期化された要素数を返す
※1件も初期化されていない場合は0が返る
.EXISTS(n)インデックス番号nの要素が初期化されているかどうか
 true:初期化されている false:初期化されていない
.DELETE要素を全て削除する
.EXTENDコレクションの要素を1件初期化する
.EXTEND(n)コレクションの要素をn件初期化する
.NEXT(n)インデックス番号nの次のインデックス番号を返す
.PRIOR(n)インデックス番号nの直前のインデックス番号を返す
.TRIM一番最後の要素を1件クリアする
※初期化自体もクリアされる
.TRIM(n)一番最後の要素からn件クリアする
※初期化自体もクリアされる
.LIMITVARRAYの最大要素数を返す
※宣言時に指定した値です。

解説

  • VARRAY配列は宣言時に最大要素数を指定する必要があり、宣言後に最大要素数を拡張することはできません。
  • 要素に値をセットする前には、必ずEXTENDで初期化する必要があります。
    (※宣言と同時に値をセットした場合を除く)

スポンサーリンク

スポンサーリンク

-ORACLE機能, PL/SQL
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ORACLE

[SQL*Plus] オラクルにログインする

SQL*Plusでオラクルにログインするには、sqlplusコマンドを使用します。 構文 (sqlplusコマンドの構文 ...
ORACLE

[ORACLE関数] 順位を飛ばして順位を付ける(RANK~OVER)

順位を飛ばして順位を付けるには、RANK~OVER関数を使用します。 順位を飛ばしてとは、同順位のデータが存在する場合は ...
ORACLE

[SQL] 集計した件数でソートする

集計した件数でソートするには、ORDER BY句にCOUNT関数を記述すればOKです。 サンプル 以下テーブルをサンプル ...
ORACLE

[ORACLE] リサイクルビンからテーブルを完全に削除する(PURGE RECYCLEBIN)

リサイクルビンからテーブルを完全に削除するには、purge recyclebinコマンドを使用します。 サンプル まずは ...
ORACLE

[ORAエラー] ORA-01861: リテラルが書式文字列と一致しません

以下のように表示されます。 (日本語) ORA-01861: リテラルが書式文字列と一致しません (英語) ORA-01 ...

スポンサーリンク