0
我使用这些SQL查询来删除行,两个表从两个表中删除:使用一个SQL查询
DELETE FROM AGENT WHERE ID = ?
DELETE FROM AGENT WHERE AGENT_GROUP_ID = (SELECT ID FROM AGENT_GROUP WHERE NAME = ?)
我感兴趣我可以以某种方式结合两个SQL查询到一个SQL查询?
我使用这些SQL查询来删除行,两个表从两个表中删除:使用一个SQL查询
DELETE FROM AGENT WHERE ID = ?
DELETE FROM AGENT WHERE AGENT_GROUP_ID = (SELECT ID FROM AGENT_GROUP WHERE NAME = ?)
我感兴趣我可以以某种方式结合两个SQL查询到一个SQL查询?
像这样:
DELETE FROM AGENT
WHERE ID = ?
OR AGENT_GROUP_ID = (SELECT ID FROM AGENT_GROUP WHERE NAME = ?
?根据docs,您不能同时从多个表中删除记录。作为一个解决方案,你可以写一个存储过程,会从多个表中删除记录,像这样:
create procedure delete_from_multiple_tables (
p_key1 number
, p_key2 varchar2
)
as
begin
delete table1 where id = p_key1;
delete table2 where group_id = p_key2;
end delete_from_multiple_tables;
是的,你可以..这是相同的表?如果是的话:
DELETE FROM AGENT WHERE AGENT_GROUP_ID = (SELECT ID FROM AGENT_GROUP WHERE NAME = ?) Or ID = ?
随着不同势表:
DELETE AGENT, MYTABLE2
FROM AGENT INNER JOIN MYTABLE2
WHERE AGENT.id = ? OR MYTABLE2.id = (Select ID from ...)
你的答案是一样的前面的回答,您并没有带来新的想法 – simsim 2014-08-27 08:22:58
不幸的是我使用的是不同的表的SQL查询。 – user1285928 2014-08-27 08:24:55
@simsim jap ..我没有看到zaratustra的答案..在我postet后......哦......太晚了.. :) user1285928:好的..我将我的答案延伸 – 2014-08-27 08:38:24