Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
HTTP 変数の値を返します。
HTTP_VARIABLE( var-name [ , instance [ , attribute ] ] )
var-name HTTP 変数の名前。
instance 同じ名前の変数が複数ある場合、フィールドインスタンスのインスタンス番号、または最初の NULL。複数選択を許可している SELECT リストで使用すると便利です。
attribute マルチパート要求では、マルチパート名のヘッダーの値を返すヘッダーフィールド名を属性で指定できます。
属性を指定しないと、戻り値が % で復号化され、文字セットがデータベースの文字セットに変換されます。このモードでは、UTF % でコード化されたデータがサポートされています。
属性には、次のいずれかのモードも使用できます。
'@BINARY' x-www-form-urlencoded バイナリデータ値を返します。このモードは、戻り値が % で復号化されており、変換された文字セットではないことを示します。UTF-8 % エンコードは、このモードではサポートされません。% コード化されたデータは単純に等価のバイト表現にデコードされるからです。
'@TRANSPORT' 未加工の HTTP トランスポート形式の値を返し、% でのコード化が保持されます。
LONG VARCHAR
この関数は、指定された HTTP 変数の値を返します。Web サービス内で HTTP 要求を処理する場合に使用されます。
var-name が存在しない場合、戻り値は NULL になります。
Web サービス要求が POST で、変数データが multipart/form-data と通知された場合、HTTP サーバーは個々の変数の HTTP ヘッダーを受信します。attribute パラメーターを指定すると、特定の変数の POST 要求から関連する multipart/form-data ヘッダー値が HTTP_VARIABLE 関数から返されます。ファイルを表す変数の場合、Content-Disposition、Content-Type、@BINARY の属性はそれぞれファイル名、メディアタイプ、ファイルの内容を返します。
通常は、クライアント (ブラウザーなど) の文字セットとデータベース側文字セットの間で、どの入力データも文字セットの変換が行われます。ただし、attribute に @BINARY を指定すると、文字セットの変換または % による復号化を行わずに変数値が返されます。@BINARY は、画像などのデータをクライアントから受信するときに便利です。
この関数は、指定されたインスタンスが存在しない場合、または Web サービスの実行外から関数が呼び出された場合には、NULL を返します。
SQL/2008 ベンダー拡張。
HTTP Web サービスによって呼び出されるストアドプロシージャー内で使用された場合、次の例は、サンプル URL で示される HTTP 変数の値を取得します。
-- http://sample.com/demo/ShowDetail?product_id=300&customer_id=101 BEGIN DECLARE v_customer_id LONG VARCHAR; DECLARE v_product_id LONG VARCHAR; SET v_customer_id = HTTP_VARIABLE( 'customer_id' ); SET v_product_id = HTTP_VARIABLE( 'product_id' ); CALL ShowSalesOrderDetail( v_customer_id, v_product_id ); END;
HTTP Web サービスによって呼び出されるストアドプロシージャー内で使用された場合、次の文はイメージ変数の Content-Disposition ヘッダーと Content-Type ヘッダーを要求します。
SET v_name = HTTP_VARIABLE( 'image', NULL, 'Content-Disposition' ); SET v_type = HTTP_VARIABLE( 'image', NULL, 'Content-Type' );
HTTP Web サービスによって呼び出されるストアドプロシージャー内で使用された場合、次の文は現在の文字セットでのイメージ変数値 (つまり、文字セットを変換しない値) を要求します。
SET v_image = HTTP_VARIABLE( 'image', NULL, '@BINARY' );