ストアドプロシージャパラメータのデフォルト値は、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 © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |