PQL 全局变量

与用户变量不同,用户变量的作用域仅在当前 PQL 过程或者控制语句内部,全局变量作用域是整个 PQL 环境,可以在同一个系统的任何 PQL 过程中使用。

全局变量以@符号开头,全名规则与用户变量相同,变量名也不区分大小写,但字母建议全部大写。

全局变量列表

除了以上全局变量外,PQL 的全局设置的每一项都对应一个全局变量,如 @QROSS_HOME等,详见 PQL 全局设置

自定义全局变量

有时我们需要在不同的 PQL 过程之间使用相同的全局变量,但 PQL 内置的全局变量远远不能满足需求,PQL 提供了自定义全局变量的途径。

以上示例中,全局变量@LAST_UPDATE_TIME保存最后一次的更新时间,如果这个 PQL 过程每隔一段时间执行,则可以通过这种方式做到增量读取。定义和更新复合类型全局变量时需使用=:符号赋值或使用 VAR 语句

用户自定义的全局变量会有归属权问题: 在登录状态下,定义的全局变量归属当前登录用户,即不同的用户可以使用相同名称的全局变量; 在默认状态下,定义的全局变量归属整个系统,任何人都可访问。用户定义的全局变量优先于系统全局变量。管理员可以通过 Master 管理工具查看和新增自定义全局变量

全局变量嵌入到语句中

与用户变量不同,已嵌入到语句中的未声明的全局变量在计算时如找不到定义,将忽略,仅在控制台发出警告提醒。与用户变量的规则一样:如果遇到变量名与语句冲突不能正确识别时,可在变量名两端加上小括号,如@(NOW); 如果不希望字符串变量有默认的引号时,可以变量末尾加上叹号,如@NOW!


参考链接


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!