Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 函数 » SQL 函数 (E-O)

 

HTTP_VARIABLE 函数 [HTTP]

返回一个 HTTP 变量的值。

语法
HTTP_VARIABLE( var-name [ [ , instance ] , http-header-field ] )
参数
  • var-name   HTTP 变量的名称。

  • instance   当有多个变量具有相同的名称时,则为字段实例的实例编号;当要获取第一个变量时,则为 NULL。当选择列表允许进行多个选择时会有用处。

  • http-header-field   在有多个部分的请求中,与 var-name 中指定的命名字段相关联的标头字段名。

返回值

此函数返回指定的 HTTP 变量的值。在 Web 服务内处理 HTTP 请求时,将使用该函数。

LONG VARCHAR

注释

如果给定 var-name 的标头不存在,则返回值为 NULL。

当 Web 服务请求为 POST 且变量数据作为多部分/形式数据进行发送时,HTTP 服务器会分别接收每个变量的 HTTP 标头。如果指定了 http-header-field 参数,HTTP_VARIABLE 函数会从 POST 请求返回特定变量的关联多部分/形式数据标头值。

所有输入数据都会经历客户端(例如,浏览器)字符集与数据库字符集之间的字符集转换。不过,如果为 http-header-field 指定了 @BINARY,则返回变量输入值而不进行字符集转换。从客户端接收二进制数据(如图像数据)时,这可能会有用处。

如果不是从 Web 服务进行调用,此函数会返回 NULL。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

在由 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' );