テーブル trkdriver と trkmechanic の両方に L# が存在するかどうかを確認しようとしています。
L# を取り込む手順を作成しましたが、問題は、trkdriver と trkmechanic の両方に L# が存在することを確認する方法です。
execute v_emp(10001);
PLSQLコード:
CREATE OR REPLACE procedure v_emp
(emp_license IN trkdriver.L#%TYPE)
IS
result VARCHAR2(10);
BEGIN
select e# INTO result
from trkdriver where l#=emp_license;
DBMS_OUTPUT.PUT_LINE('RESULT' || result);
END;
/
SQL> trkdriver から E# を選択します。
E#
----------
1
3
5
7
9
11
13
7 行が選択されました。
以下を試して、2つのテーブルに存在するかどうかを確認しました。
SQL> select E# from trkdriver where EXISTS (select * from trkmechanic where trkd
river.L# = trkmechanic.L#);
それは私に0行のリターンを与えます..
SQL> desc trkdriver;
Name Null? Type
----------------------------------------- -------- ----------------------------
E# NOT NULL NUMBER(12)
L# NOT NULL NUMBER(8)
STATUS NOT NULL VARCHAR2(10)
SQL> desc trkmechanic;
Name Null? Type
----------------------------------------- -------- ----------------------------
E# NOT NULL NUMBER(12)
L# NOT NULL NUMBER(8)
STATUS NOT NULL VARCHAR2(10)
EXPERIENCE NOT NULL VARCHAR2(10)