DriverとMechanicの2つのテーブルがあり、両方のテーブルに同じ列のEmployee#があります。
PL / SQLを使用して両方の表をチェックし、employee#を比較して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;
/