首页 > 解决方案 > ODI 程序中的 ORA-00933

问题描述

我在 ODI 中映射两个表,但我遇到了问题。

我已经将源表映射到目标表(DM_BUSINESS使用列调用BUSINESS_ID, NAME, ADDRESS)。之后,我创建了一个程序:

UPDATE dm_business SET name = CONCAT(name, CONCAT(' ', address)) WHERE name IN (SELECT name FROM dm_business GROUP BY name HAVING COUNT (business_id)>1);

当我自己使用 SQLDeveloper 运行此查询时,我没有任何问题,而且一切正常:当有多个同名企业时,它会将企业地址添加到其名称中。当我使用此任务运行该过程时,它给了我错误ORA-00933: SQL command not properly ended。我选择“Oracle”作为目标技术。我做错了什么?

你能帮助我吗?非常感谢你。

标签: sqloracleoracle-data-integrator

解决方案


您应该删除分号以将其作为 SQL 语句运行,或者使用 BEGIN..END 包装您的 UPDATE 以将其作为 PL/SQL 块运行:

BEGIN
   UPDATE ... ;
END;

推荐阅读