oracle - SQL Developer 使用 join 命令删除一行
问题描述
我正在使用以下命令使用 JOIN 查询删除 REL_CLIENT_CAT 表。但是在控制台中遇到以下错误。当我在 sql developer 中运行时,给定的查询无法正常工作。
delete RL_CLIENT_CAT rlcc
join CLIENT_CATEGORY cc on cc.client_id = rlcc.client_category_id
where rlcc.clientId='298860' and cc.code='client1'
我收到的错误信息
delete RL_CLIENT_CAT rlcc
left outer join CLIENT_CATEGORY cc on cc.client_id = rlcc.client_category_id
where rlcc.clientId='298860' and cc.code='client1'
Error at Command Line : 10 Column : 2
Error report -
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
请告诉我。
解决方案
DELETE
join
在 oracle 中无法使用。相反,您可以使用以下查询:
DELETE RL_CLIENT_CAT RLCC
WHERE RLCC.CLIENT_CATEGORY_ID IN (
SELECT CC.CLIENT_ID
FROM CLIENT_CATEGORY CC
WHERE CC.CODE = 'client1'
)
AND RLCC.CLIENTID = '298860';
或者您可以使用EXISTS
以下相关子查询:
DELETE RL_CLIENT_CAT RLCC
WHERE EXISTS (
SELECT 1
FROM CLIENT_CATEGORY CC
WHERE RLCC.CLIENT_CATEGORY_ID = CC.CLIENT_ID
AND CC.CODE = 'client1'
)
AND RLCC.CLIENTID = '298860';
推荐阅读
- spring - 错误 - 没有名为“springSecurityFilterChain”的 bean 可用
- bash - 如何在 FFMPEG 的同一命令中使用 -vf 和 -filter_complex
- ios - 用于 Google 云 pubsub 的 Swift 客户端库
- python - 如何更改某些行以在数据框中列出?
- python - 使用参数调用装饰器时出现问题
- php - 谷歌日历 php API 全天事件丢失/对某些用户不可见
- javascript - 如何禁用所有上述复选框选项如果有人点击以上复选框都不是?
- python-3.x - 如何在 Python3 中创建一个函数以使用正则表达式从两个标记之间的字符串返回子字符串?
- owl - Protégé : OWL 推理和 rdfs:subClassOf
- xml - 有没有办法在某个父节点中找到某个节点的出现