Syntax 转义字符的Mule字符串串联

Syntax 转义字符的Mule字符串串联,syntax,mule,mel,Syntax,Mule,Mel,假设emp no的值为12345 我想在运行时创建一个SQL查询,该查询将发生变化 select * from emp where emp_no = '#[flowVars['emp-no']]' 到 从emp中选择*,其中emp_编号='12345' 什么是正确的MEL语法,因为我的MEL中有很多个。我尝试过使用转义字符,但没有成功 问候。假设您使用的是Mule JDBC传输,则不需要引用列值,因此正确的版本为: select * from emp where emp_no = #[flow

假设emp no的值为12345

我想在运行时创建一个SQL查询,该查询将发生变化

select * from emp where emp_no = '#[flowVars['emp-no']]'

从emp中选择*,其中emp_编号='12345'

什么是正确的MEL语法,因为我的MEL中有很多个。我尝试过使用转义字符,但没有成功


问候。

假设您使用的是Mule JDBC传输,则不需要引用列值,因此正确的版本为:

select * from emp where emp_no = #[flowVars['emp-no']]
如果您的flowVars['emp-no']是数字的,并且您确实需要引号,请将flowVars['emp-no']设置为键入字符串

如果您不使用Mule JDBC,只想设置示例有效负载,请使用:

<set-payload value="select * from emp where emp_no = '#[flowVars['emp-no']]'" />


你好,安东。现在我看到,当我将字符串赋给变量时,它实际上是正确的。当我运行这个流时,我得到了一个JDBC错误。如果我将flowVars更改为“12345”的静态值,它将正常工作。但是当我想使用从URL获取的emp no值时,我会得到以下错误:无效列索引(SQL代码:17003,SQL状态:+99999)(java.SQL.SQLException)oracle.jdbc.driver.OraclePreparedStatement:5377(null)因此,我似乎无法使用此方法在运行时绑定变量。那么,正如所有示例所示,在SQL.Nevermind中获取值时不带where值,正确的方法是什么。我用这个链接让它工作