我正在尝试检查表 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 行。
我在下面尝试检查它是否存在于两个表上:
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)