sql - 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”作为目标技术。我做错了什么?
你能帮助我吗?非常感谢你。
解决方案
您应该删除分号以将其作为 SQL 语句运行,或者使用 BEGIN..END 包装您的 UPDATE 以将其作为 PL/SQL 块运行:
BEGIN
UPDATE ... ;
END;
推荐阅读
- python - 常规列表索引的替代方案
- kubernetes - calico 网络对 k3s 中 killall.sh 的依赖
- sass - gulp-sass 5 没有默认的 Sass 编译器 scss 文件来编译
- netsuite - 在 NetSuite 的销售订单中添加 EDIT 按钮
- wordpress - 不显示 WordPress 网站图片
- cypress - 如何在赛普拉斯的页面对象模型中使用选择器和方法?
- python - Keras/Tensorflow 疑似内存泄漏
- node.js - NestJS:类型“NestFastifyApplication”不满足约束“INestApplication”
- angular - Angular 严格模式、Ngrx、Jamsmine:带道具的模拟选择器
- c++ - MinGW不在日食上