ORA-00933 在 ODI 程序中

ORA-00933 in ODI procedure

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

我已将源 table 映射到目标 table(称为 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 语句或者用 BEGIN..END 包装你的 UPDATE 到 运行 它作为一个 PL/SQL 块:

BEGIN
   UPDATE ... ;
END;