INOUT パラメーター

DEFAULT キーワードを使用して、プロシージャーの INOUT パラメーターがデフォルト値を持つように定義できます。

有効化

DB2_COMPATIBILITY_VECTOR レジストリー変数を 16 進値 0x2000 (ビット位置 14) に設定して INOUT パラメーターのサポートを使用可能にしてから、インスタンスを停止し再始動して、新しい設定を有効にします。
db2set DB2_COMPATIBILITY_VECTOR=2000
db2stop
db2start

Sybase アプリケーションで Db2® 互換フィーチャーを最大限に活用するには、 DB2_COMPATIBILITY_VECTOR の設定を SYB にすることをお勧めします。これにより、すべての互換性ビットが設定されます。

INOUT パラメーターは、入力と出力の両方に使用されるパラメーターです。 DEFAULT キーワードを使用すると、INOUT パラメーターのデフォルト値を式または NULL のいずれかとして定義できます。 その後、このパラメーターで DEFAULT を指定するか、何も引数を指定しないでプロシージャーを呼び出すと、パラメーターに対して定義したデフォルト値が使用されて初期化されます。 プロシージャーの終了時には、このパラメーターに対して値は何も戻りません。

制約事項

DEFAULT キーワードは、関数の INOUT パラメーターではサポートされていません。

次のコードで、オプションの INOUT パラメーターを指定したプロシージャーを作成します。
   CREATE OR REPLACE PROCEDURE paybonus
     (IN empid INTEGER, 
     IN percentbonus DECIMAL(2, 2), 
     INOUT budget DECFLOAT DEFAULT NULL)
     ...
このプロシージャーは、従業員の給与から賞与額を算出し、賞与を支給し、部門別予算から賞与を差し引きます。 このプロシージャーで予算 (budget) を指定しないと、差し引きの部分は無視されます。 以下に、このプロシージャーを呼び出す方法の例を示します。
   CALL paybonus(12, 0.05, 50000);
   CALL paybonus(12, 0.05, DEFAULT);
   CALL paybonus(12, 0.05);