ストアドプロシージャーパラメーターのデフォルト値は、CALL 文の 2 通りの形式のどちらでも使用できます。
CREATE PROCEDURE 文の引数リストの末尾にオプションのパラメーターがある場合、これらは CALL 文で省略できます。次に示すのは、INOUT パラメーターを 3 つ持つプロシージャーの例です。
CREATE PROCEDURE SampleProcedure( INOUT var1 INT DEFAULT 1, INOUT var2 int DEFAULT 2, INOUT var3 int DEFAULT 3 ) ... |
この例では、プロシージャーを呼び出す環境で、プロシージャーに渡す数値を格納するための変数を 3 つ設定してあるものと想定しています。
CREATE VARIABLE V1 INT; CREATE VARIABLE V2 INT; CREATE VARIABLE V3 INT; |
次に示すように、SampleProcedure プロシージャーは最初のパラメーターを指定するだけで呼び出せます。この場合、var2 と var3 にはデフォルト値が使用されます。
CALL SampleProcedure( V1 ); |
また、次のように、プロシージャーは最初のパラメーターには DEFAULT 値を使用して、2 番目のパラメーターのみを指定することによっても呼び出せます。
CALL SampleProcedure( DEFAULT, V2 ); |
オプションの引数を使ってプロシージャーを呼び出すよりも柔軟な方法は、パラメーターに名前を付けて渡すという方法です。このとき、SampleProcedure プロシージャーは次のように呼び出すことができます。
CALL SampleProcedure( var1 = V1, var3 = V3 ); |
または次のようになります。
CALL SampleProcedure( var3 = V3, var1 = V1 ); |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |