参数

参数定义语法

param name[@index]=value

[@index] 当通过JDBC/Odbc方式执行ChannelQuery脚本时,对应的参数位置被绑定到更友好,识别度更高的命名参数。index 从数字 1 开始。

直接使用脚本引擎执行则不需要位置参数绑定,参数及值会以命名的方式传递给 params

ChannelEngine.execute(sript: String, context: mutable.Map[String, AnyRef],
session: AnyRef, params: mutable.Map[String, AnyRef])

Jdbc/Odbc 参数

select channel('demo.sql', 'Jackie')

demo.sql 内容

-- 'VINET' 默认参数值,即没有参数传递时使用
-- @1 绑定 'Jackie' 位置的参数值
param name@1='VINET';

load jdbc 'select * from 订单';
filter {`客户ID`='$name'}

小技巧

  1. 参数定义可以写在任意位置

  2. 参数使用也可以出现在任意位置

  3. 参数以 $ 引用