代入文は、現行の有効範囲で宣言されている変数、フィールド、パラメータまたは要素の現在の値を設定します。
代入文に含まれる代入演算子(:=
)は、定数または変数の宣言でも使用される場合があります。 変数宣言では、変数にデフォルト値が代入されます。 デフォルト値がない場合は、ブロックが入力されるたびに変数がNULL
に初期化されます。
変数にデフォルト値がない場合は、その変数を式で使用する前に、常に代入文を使用して値を代入します。
構文
assignment_statement ::=
キーワードとパラメータの説明
attribute_name
object_type
の属性の名前。 名前はobject_type
内で一意である必要があります(他のオブジェクト型内では使用できます)。
属性をその宣言内で初期化することはできません。 属性にNOT
NULL
制約を課すことはできません。
collection_name
コレクションの名前。
cursor_variable_name
PL/SQLカーソル変数の名前。
expression
代入文の実行時にターゲット(代入演算子の左側の項目)に代入される値を持つ式。
expression
の値は、ターゲットのデータ型と互換性のあるデータ型にする必要があります。
ターゲットがNOT
NULL
として定義された変数の場合、expression
の値をNULL
にすることはできません。 ターゲットがブール変数の場合、expression
の値はTRUE
、FALSE
またはNULL
にする必要があります。 ターゲットがカーソル変数の場合は、expression
の値もカーソル変数にする必要があります。
field_name
record_name
内のフィールドの名前。
expression
の値をレコードの特定のフィールドに代入する場合は、field_name
を指定します。
expression
の値をrecord_name
のすべてのフィールドに一度に代入する(あるレコードを別のレコードに代入する)場合は、field_name
を省略します。 あるレコードを別のレコードに代入できるのは、各レコードの宣言が同じ表またはカーソルを参照している場合のみです(例2-17「あるレコードの別のレコードへの正しい代入および間違った代入」を参照)。
host_cursor_variable_name
PL/SQLホスト環境で宣言され、バインド引数としてPL/SQLに渡されるカーソル変数の名前。
ホスト・カーソル変数のデータ型は、PL/SQLカーソル変数の戻り型と互換性があります。
host_variable_name
PL/SQLホスト環境で宣言され、バインド引数としてPL/SQLに渡される変数の名前。
index
データ型PLS_INTEGER
またはPLS_INTEGER
に暗黙的に変換可能なデータ型の値を持つ数式(表3-10「実行可能なPL/SQLの暗黙的なデータ型変換」を参照)。
expression
の値をcollection_name
の特定の要素に代入する場合は、index
を指定します。
expression
の値をcollection_name
のすべての要素に一度に代入する(あるコレクションを別のコレクションに代入する)場合は、index
を省略します。 あるコレクションを別のコレクションに代入できるのは、コレクションのデータ型が同じである場合のみです(要素型が同じであるのみでは不十分です)。
indicator_name
host_variable_name
の標識変数の名前。
標識変数は、そのホスト変数の値または条件を示します。 たとえば、Oracleプリコンパイラ環境では、標識変数を使用して出力ホスト変数内のNULL
や切り捨てられた値を検出できます。
object_name
オブジェクト型のインスタンスの名前。
parameter_name
代入文が使用されているサブプログラムの仮パラメータOUT
またはIN
OUT
の名前。
record_name
ユーザー定義のレコードまたは%ROWTYPE
レコードの名前。
variable_name
PL/SQL変数の名前。
関連トピック