SQL 解説書

割り当てステートメント

割り当てステートメントは、出力パラメーター、ローカル変数、または特殊レジスターに値を割り当てます。

構文

>>-SET--+-parameter-name----+---=--+-expression-+--------------><
        +-SQL-variable-name-+      '-NULL-------'
        '-special-register--'
 

説明

parameter-name
割り当てのターゲットとなるパラメーターを識別します。 そのパラメーターは、 CREATE PROCEDURE ステートメントの parameter-declaration で指定しなければならず、 さらに OUT または INOUT パラメーターとして定義しなければなりません。

SQL-variable-name
割り当てのターゲットとなる SQL 変数を識別します。 SQL 変数は、使用する前に定義しなければなりません。 SQL 変数は複合ステートメントで定義できます。

special-register
割り当てのターゲットとなる特殊レジスターを識別します。 特殊レジスターの値としてスキーマ名を使用する場合 (CURRENT FUNCTION PATH または CURRENT SCHEMA 特殊レジスターなど)、 割り当てパラメーターが SQL 変数かどうか、DB2 が判別します。 割り当てパラメーターが SQL 変数であれば、DB2 はその特殊レジスターに SQL 変数の値を割り当てます。 割り当てパラメーターが SQL 変数でなければ、DB2 はその割り当てパラメーターをスキーマ名とみなし、 その特殊レジスターにスキーマ名を割り当てます。

SQL プロシージャーの特殊レジスター値の初期設定は、そのプロシージャーの呼び出し側から継承します。 新しい設定を割り当てると、SQL プロシージャー全体のその値が設定されている部分で有効になり、 以降の呼び出しの際にもプロシージャーに継承されます。 プロシージャーが呼び出し側に戻されると、特殊レジスターは呼び出し側の元の設定に復元されます。

expression または NULL
割り当てのソースとなる式または値を指定します。

規則

SQL 変数 p_salary を 10 % ずつ増加させます。

     SET p_salary = p_salary + (p_salary * .10)

SQL 変数 p_salary をヌル値に設定します。

     SET p_salary = NULL


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]