使用上下文变量在tOracleRow组件中编写EXECUTE语句

时间:2014-11-10 09:39:55

标签: sql variables execute talend

我正在尝试在toraclerow中编写EXECUTE语句。

在每次迭代时,字符串都是从流动中准备的。在这里,我不讨论我是如何准备字符串的。但是一旦准备好,整个字符串就存储在一个上下文变量中。例如,我将以下字符串存储在给定迭代次数的上下文变量中。

context.FinalString = "Insert into TargetTableName (columnA, columnB) 
                            SELECT Col_A, Col_B 
                            FROM SourceTableName"

我正在尝试使用以下语句在tOracleRow组件中执行此字符串:

  "EXEC SQL EXECUTE '"+context.FinalString+"'"

在运行作业时,我收到以下错误。

ORA-00900: invalid SQL statement

请提出解决方案。有没有办法在上下文变量中执行以字符串形式存储的sql语句?

1 个答案:

答案 0 :(得分:1)

尝试通过删除文本执行EXEC SQL EXECUTE ..只需将文本作为语句 - 插入表中从表中选择col ... 要么 update table set column = value where ...

你这里不需要exec sql执行文本。