我需要帮助来解决这个问题。 Driver_ID存在两个表中,Driver和Driver_Deliveries。我需要它显示Driver_Deliveries表中没有出现的Driver ID的First_Name,Surname & Driver_ID。我正在使用Oracle 11g的Oracle SQL Developer。PL/SQL不存在查询
DECLARE
FIRSTNAME VARCHAR2(20);
SUR_NAME VARCHAR2(20);
DRIVERID VARCHAR2(5);
BEGIN
FOR i IN
(
SELECT
FIRST_NAME,
SURNAME,
a.DRIVER_ID
INTO
FIRSTNAME, SUR_NAME, DRIVERID
FROM
DRIVER_DELIVERIES,
DRIVER a,
WHERE NOT EXISTS(SELECT * FROM DRIVER_DELIVERIES WHERE DRIVER_DELIVERIES.DRIVER_ID = a.DRIVER_ID);
)
LOOP
DBMS_OUTPUT.PUT_LINE('FIRST NAME :' ||I.FIRST_NAME);
DBMS_OUTPUT.PUT_LINE('SURNAME :' || I.SURNAME);
DBMS_OUTPUT.PUT_LINE('DELIVERY JOB REQUIRED: YES ');
END LOOP;
END;
这里的错误堆栈:
Error report -
ORA-06550: line 23, column 9:
PL/SQL: ORA-00903: invalid table name
ORA-06550: line 10, column 5:
PL/SQL: SQL Statement ignored
ORA-06550: line 23, column 106:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
loop
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
那么,什么是错的用你的解决方案(如果有的话)? – mustaccio
此外,这是否需要在PL/SQL?它可以在普通的SQL中更直接地完成。 – mathguy
@mustaccio这是我得到的:06550. 00000 - “行%s,列%s:\ n%s” *原因:通常是PL/SQL编译错误。 *动作: –