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

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - 编程 » HTTP Web 服务 » 使用 Web 客户端访问 Web 服务 » 开发 Web 客户端应用程序

 

为子句值使用替代参数

每当运行存储过程或函数时,存储过程或函数的已声明参数将自动替代子句定义中的占位符。替代参数允许创建可在运行时动态配置子句的通用 Web 服务过程。任何包含后面跟有已声明参数名称的感叹号 "!" 的子字符串都会被替换为该参数的值。这样,运行时可以替代一个或多个参数值来派生出一个或多个子句值。

参数替代要求遵守以下规则:

  • 用于替代的参数必须是字母或数字。不允许有下划线。

  • 替代参数后面必须紧跟非字母数字字符或终止字符。例如,!sizeXL 不能被名为 size 的参数的值替代,因为 X 属于字母数字字符。

  • 和参数名称不匹配的替代参数将被忽略。

  • 感叹号 (!) 可以用另一个感叹号进行转义。

例如,以下过程说明了参数替代的用法。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');

每次调用此过程时可使用不同的值。

 加密证书示例
 没有匹配参数名的示例