ストアドプロシージャーまたはファンクションの宣言済みパラメーターは、そのプロシージャーまたはファンクションが実行されるたびに、句の定義内のプレースホルダーを自動的に置き換えます。代入パラメーターを使用すると、実行時に動的に句を設定する一般的な Web サービスプロシージャーを作成できます。感嘆符 '!' の後に宣言されたパラメーターの 1 つの名前が続いている部分文字列はすべて、パラメーターの値で置換されます。こうして、実行時に 1 つ以上のパラメーター値が代入され、1 つ以上の句の値が抽出されます。
パラメーターの代入を行うには、次の規則を順守する必要があります。
代入に使用するパラメーターはすべて英数字にします。アンダースコアは使用できません。
代入パラメーターの直後は、英数字以外の文字が続くか終了である必要があります。たとえば、!sizeXL は、X が英数字であるため、size というパラメーターの値で置換されません。
パラメーター名に一致しない代入パラメーターは無視されます。
感嘆符 (!) は別の感嘆符でエスケープできます。
たとえば、次のプロシージャーは、代入パラメーターの使用方法を示します。URL と HTTP ヘッダーの定義は、パラメーターとして渡します。
CREATE PROCEDURE test(uid CHAR(128), pwd CHAR(128), headers LONG VARCHAR) URL 'HTTP://!uid:!pwd@localhost/myservice' HEADER '!headers'; |
次の文を使用して test プロシージャーを呼び出し、HTTP 要求を開始できます。
CALL test('dba', 'sql', 'NewHeader1:value1\nNewHeader2:value2'); |
このプロシージャーが呼び出されるたびに、異なる値を使用できます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |