EasySQLMAIL系统操作手册->任务管理->任务变量

EasySQLMAIL中可以定义一些任务变量,来提高任务的灵活性。

例如,有两个附件模板都使用同样的SQL语句提取数据,只是每次运行时的参数不同,这时就可以在SQL语句中使用变量,编写一个SQL语句满足多种查询取数需求。
模板1的取数SQL为:SELECT * FROM cust_info WHERE cust_id BETWEEN 101 AND 200;
模板2的取数SQL为:SELECT * FROM cust_info WHERE cust_id BETWEEN 201 AND 300;
这种情况下,可以将SQL改写为:
SELECT * FROM cust_info WHERE cust_id BETWEEN #v1# AND #v2#;
其中,#v1##v2#就是两个变量。

在任务配置中定义好v1v2两个变量后,EasySQLMAIL执行任务时会用变量的值替换SQL语句中的#v1##v2#,然后执行替换后的SQL语句。

例如,运行时变量v1的值是401,变量v2的值是500,那么实际执行的SQL语句就是:
SELECT * FROM cust_info WHERE cust_id BETWEEN 401 AND 500;

点击"任务属性"对话框的"任务变量"Tab页打开任务变量管理界面。

任务变量管理界面

您可以在这个界面中调整变量的查找顺序。

点击"任务变量"管理界面中的"新建变量",打开"新建变量"对话框:

新建变量对话框

在这个对话框中:

变量名称 输入变量的名称。变量名称中不能有”#”号。在同一个环境中,例如在同一个任务的任务级变量中,一个变量名只能出现一次。
生成方式 指定变量的生成方式。
固定值:变量的值是固定的,运行时不会改变。
使用SQL语句动态生成:变量的值由一个SQL语句动态生成。这种方式下,EasySQLMAIL将SQL语句查询结果的第一个字段作为变量的值。在使用变量值替换字符串时,如果SQL语句查询返回了多行记录,EasySQLMAIL只使用第一行第一个字段的值作为变量值;在使用变量值作为邮件收件人时,如果SQL语句查询返回了多行记录,EasySQLMAIL会将每一行记录的第一个字段作为一个邮件地址来对待。
变量值 当变量的生成方式是“固定值”时,在这里输入变量的值。
数据源 当变量的生成方式是“使用SQL语句动态生成”时,在这里选择执行SQL语句时要连接的数据源
SQL 输入一个或多个SQL语句。如果有多个语句要执行,各个语句之间用“;”(分号)分隔开。
您可以在SQL语句中嵌入变量,例如:
SELECT * FROM stat_org WHERE org_id = #orgId#;
  • 注意:如果有多个SQL语句要执行,最后一个语句执行后返回的结果集的第一个字段将被作为变量的值对待。
变量选项
在邮件正文中将变量值作为HTML代码对待 如果选择该选项,当使用变量值在HTML文档中替换变量名时,会将变量的值作为HTML代码对待。
例如,当变量userName的值是<font color=’red’>李一</font>时,HTML文档中的<span>#userName</span>将被替换为
<span><font color=’red’>李一</font></span>
如果不选择此选项,EasySQLMAIL会先将“<font color=’red’>李一</font>”进行HTML转码,然后再替换到HTML文档中,替换结果为:
<span>&lt;font color=’red’&gt;李一&lt;/font&gt;</span>
变量说明 可以为变量输入一些说明信息,例如变量的用途、来源等信息