每当运行存储过程或函数时,存储过程或函数的已声明参数将自动替代子句定义中的占位符。替代参数允许创建可在运行时动态配置子句的通用 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'); |
每次调用此过程时可使用不同的值。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |