Ich brauche Hilfe, um dieses Problem zu lösen. Die Driver_ID existiert in zwei Tabellen, Driver und Driver_Deliveries. Ich brauche es, um den First_Name, den Nachnamen & Driver_ID für die Treiber-IDs anzuzeigen, die nicht in der Tabelle Driver_Deliveries angezeigt werden. Ich verwende Oracle SQL Developer mit Oracle 11G.PL/SQL nicht vorhanden Abfrage
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;
Hier ist der Fehler-Stack:
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:
Also, was ist falsch mit Ihrer Lösung (wenn überhaupt)? – mustaccio
Muss dies auch in PL/SQL sein? Dies kann direkter in SQL erfolgen. – mathguy
@mustaccio das bekomme ich: 06550. 00000 - "Zeile% s, Spalte% s: \ n% s" * Ursache: Normalerweise ein PL/SQL-Kompilierungsfehler. * Aktion: –