変数の宣言では、その名前、データ型および値を指定し、使用する記憶域を割り当てます。 また、初期値を代入したり、NOT
NULL
制約を付けることもできます。
構文
variable_declaration ::=
datatype ::=
キーワードとパラメータの説明
collection_name
現行の有効範囲のうち、これより前の部分で宣言されているコレクション(結合配列、ネストした表またはVARRAY)を識別します。
collection_type_name
データ型指定子TABLE
またはVARRAY
を使用して定義されたユーザー定義のコレクション型を識別します。
cursor_name
現行の有効範囲の中で、事前に宣言されている明示カーソルを識別します。
cursor_variable_name
現行の有効範囲の中で事前に宣言されているPL/SQLカーソル変数を識別します。
db_table_name
宣言がPL/SQLコンパイラによって処理されるときにアクセスできる必要があるデータベースの表(またはビュー)を識別します。
db_table_name.column_name
宣言がPL/SQLコンパイラによって処理されるときにアクセスできる必要があるデータベースの表および列を識別します。
expression
宣言が処理されるときに変数に代入される値です。 expression
の値は、変数のデータ型と互換性のあるデータ型にする必要があります。
プログラムでNULL値を変数に代入できないようにするための制約です。NOT
NULL
として定義された変数にNULLを代入しようとすると、事前定義の例外VALUE_ERROR
が呼び出されます。
object_name
現行の有効範囲のうち、これより前の部分で宣言されているオブジェクト型のインスタンスを識別します。
record_name
現行の有効範囲のうち、これより前に宣言されているユーザー定義のレコードまたは%ROWTYPE
レコードを識別します。
record_name.field_name
現行の有効範囲のうち、これより前に宣言されているユーザー定義のレコードまたは%ROWTYPE
レコードのフィールドを識別します。
record_type_name
データ型指定子RECORD
を使用して定義するユーザー定義のレコード型を識別します。
ref_cursor_type_name
データ型指定子REF
CURSOR
を使用して定義されたユーザー定義のカーソル変数型を識別します。
%ROWTYPE
データベース表の中の行、またはカーソルを保持できるレコードを表します。レコードの中のフィールドと行の中の列は、同じ名前とデータ型を持ちます。
scalar_datatype_name
事前定義済のスカラー・データ型(BOOLEAN
、NUMBER
、VARCHAR2
など)を識別します。サイズ、精度および文字またはバイトのセマンティクスの修飾子が含まれます。
%TYPE
これより前に宣言されたコレクション、カーソル変数、フィールド、オブジェクト、レコード、データベース列または変数のデータ型を表します。
variable_name
変数の名前。ネーミング規則は、「識別子」を参照してください。
使用上の注意
変数は、ブロックまたはサブプログラムに入るたびに初期化されます。デフォルトでは、変数はNULL
に初期化されます。 パッケージの仕様部で宣言された変数は、パブリックであるかプライベートであるかに関係なく、セッションごとに1回のみ初期化されます。
NOT
NULL
変数を宣言する場合は、初期化句が必要です。%ROWTYPE
を使用して変数を宣言する場合は、初期化できません。
関連トピック