ヘッダーをスキップ
Oracle Database PL/SQL言語リファレンス
11g リリース1(11.1)
E05670-03
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

代入文

代入文は、現行の有効範囲で宣言されている変数、フィールド、パラメータまたは要素の現在の値を設定します。

代入文に含まれる代入演算子(:=)は、定数または変数の宣言でも使用される場合があります。 変数宣言では、変数にデフォルト値が代入されます。 デフォルト値がない場合は、ブロックが入力されるたびに変数がNULLに初期化されます。

変数にデフォルト値がない場合は、その変数を式で使用する前に、常に代入文を使用して値を代入します。

構文

assignment_statement ::=

assignment_statement
assignment_statement.gifの説明

expression ::=

キーワードとパラメータの説明

attribute_name

object_typeの属性の名前。 名前はobject_type内で一意である必要があります(他のオブジェクト型内では使用できます)。

属性をその宣言内で初期化することはできません。 属性にNOT NULL制約を課すことはできません。


参照:

オブジェクト型の属性の詳細は、「CREATE TYPE文」を参照してください。

collection_name

コレクションの名前。

cursor_variable_name

PL/SQLカーソル変数の名前。

expression

代入文の実行時にターゲット(代入演算子の左側の項目)に代入される値を持つ式。

expressionの値は、ターゲットのデータ型と互換性のあるデータ型にする必要があります。

ターゲットがNOT NULLとして定義された変数の場合、expressionの値をNULLにすることはできません。 ターゲットがブール変数の場合、expressionの値はTRUEFALSEまたは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変数の名前。

関連トピック