使用select语句删除表中的记录,观察其主键

时间:2016-12-07 12:08:42

标签: sql oracle plsql sql-delete

我无法删除其中键为WO_NO和ROW_NO的表A的行。 我编写了以下查询,但发出错误说,无效的关系操作。

这就是我的尝试。

begin

DELETE FROM A
WHERE WO_NO,ROW_NO in (SELECT WO_NO,ROW_NO
FROM G1614617_1
MINUS
SELECT WO_NO,ROW_NO
FROM hirplk_test1);

dbms_output.put_line(SQL%ROWCOUNT);

end;
/

select查询返回行值WO_NO和ROW_NO。但我无法删除标签A中的记录。有人可以纠正我。

1 个答案:

答案 0 :(得分:2)

如果要将它们与两列子查询进行比较,则需要将两列放在括号之间:

DELETE FROM A
WHERE (WO_NO,ROW_NO) in (SELECT WO_NO,ROW_NO
                         FROM G1614617_1
                         MINUS
                         SELECT WO_NO,ROW_NO
                         FROM hirplk_test1);