我有 2 个表,Driver 和 Mechanic,并且在这两个表中它们都有相同的列 Employee#
如何使用 PL/SQL 检查两个表,以便通过比较员工#,Driver 表中的员工不能出现在 Mechanic 表中。如果发生这种情况,它会显示一条消息“员工#不能既是司机又是机械师!”
我知道我可以简单地使用以下方法比较两个表:
SELECT Employee#
FROM Driver
INTERSECT
SELECT Employee#
FROM Mechanic
但它要求我使用 PL/SQL。
我试过使用游标,但我似乎无法让它贯穿整个专栏。这是我的代码:
declare
cursor c1 is select employee# from driver;
cursor c2 is select employee# from mechanic;
driverenum number(30);
mechanicenum number(30);
begin
open c1;
fetch c1 into driverenum;
close c1;
open c2;
fetch c2 into mechanicenum;
close c2;
if driverenum in (mechanicenum) then
dbms_output.put_line(driverenum);
end if;
end;
/