【问题标题】:ORA-00933 in ODI procedureODI 程序中的 ORA-00933
【发布时间】:2025-12-22 10:40:07
【问题描述】:

我在 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”作为目标技术。我做错了什么?

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

【问题讨论】:

    标签: sql oracle oracle-data-integrator


    【解决方案1】:

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

    BEGIN
       UPDATE ... ;
    END;
    

    【讨论】:

    • 谢谢,删除分号使其工作。我很惊讶我以前没有尝试过。