sql - ORACLE APEX 使用 LEFT JOIN 删除行
问题描述
当我尝试删除第一个表的记录时出现此错误,其中该表的 ID 在第二个表的记录中不存在?
delete APP_LOG
from APP_LOG
left join APP_AUDIT on APP_LOG.ID = APP_AUDIT.LOG_ID
where APP_AUDIT.ID is null
解决方案
Oracle 不支持此语法。
你可以这样做NOT EXISTS
:
DELETE FROM APP_LOG al
WHERE NOT EXISTS (
SELECT 1
FROM APP_AUDIT aa
WHERE al.ID = aa.LOG_ID
)
推荐阅读
- c# - 使用 c# 获取 USB 驱动器物理位置和卷
- sql - 在哪里可以找到此存储过程所需的值?
- javascript - 如何为数组中的每个对象动态创建formGroups,然后使用对象数据进行patchValue
- angular - 出现错误在Angular 12的反应形式中找不到名称为'0'的控件
- html - 如何将 apk 转换为 html?
- sql - Exposed 如何处理绑定参数?
- python - 使用 selenium python 下载所有文件
- java - 使用 Scanner 类时的警告消息
- json - 当状态码为 4xx 时,ColdFusion REST 服务不允许在“内容”中发回结构
- linux - 如何彻底永久地清除 bash/Linux 历史记录?