我正在尝试在postgresql tPostgresqlRow_1中使用嵌套的sql。 但我收到一个错误。 如果我在PgAdmin中运行它,以下sql运行正常。 但在Talend我收到一个错误。 我从一个表中获取最大日期并更新另一个表中的列。
update "STG_magento_de"."configuration_table"
set created_at=(select MAX(created_at) from "STG_magento_de"."sales_flat_order_test")
where table_name='sales_flat_order_test'
答案 0 :(得分:1)
tPostgresqlRow组件需要包含SQL语句的Java字符串。
最可能的问题是您在声明中有未转义的引号。这在pgAdmin中运行正常,因为它是有效的。要从Talend传递相同的语句,您必须转义语句本身的所有引号。或者,您可以尝试从SQL语句中删除双引号。
请记住将整个内容括在引号中,以便它是一个合适的Java字符串。
答案 1 :(得分:0)
跟随带有转义引号的sql工作。
"update \"STG_magento_de\".\"configuration_table\"
set created_at=(select MAX(created_at) from \"STG_magento_de\".\"sales_flat_order_test\")
where table_name='sales_flat_order_test'"
答案 2 :(得分:0)
create or replace function eliminarComillas (text) returns text AS $$
select replace(replace(replace($1,'**\"**','"'),'‘','‘'),'’','’');
$$ language sql;"