Ich bekomme immer wieder diesen Fehler Ich kann nicht herausfinden, was falsch ist.PL/SQL ORA-01422: exakter Abruf liefert mehr als angeforderte Anzahl von Zeilen
DECLARE
*
FEHLER in Zeile 1:
ORA-01422: genaue Rückkehr holen mehr als die angeforderte Anzahl von Zeilen
ORA-06512: in Zeile 11
Hier ist mein Code.
DECLARE
rec_ENAME EMPLOYEE.ENAME%TYPE;
rec_JOB EMPLOYEE.DESIGNATION%TYPE;
rec_SAL EMPLOYEE.SALARY%TYPE;
rec_DEP DEPARTMENT.DEPT_NAME%TYPE;
BEGIN
SELECT EMPLOYEE.EMPID, EMPLOYEE.ENAME, EMPLOYEE.DESIGNATION, EMPLOYEE.SALARY, DEPARTMENT.DEPT_NAME
INTO rec_EMPID, rec_ENAME, rec_JOB, rec_SAL, rec_DEP
FROM EMPLOYEE, DEPARTMENT
WHERE EMPLOYEE.SALARY > 3000;
DBMS_OUTPUT.PUT_LINE ('Employee Nnumber: ' || rec_EMPID);
DBMS_OUTPUT.PUT_LINE ('---------------------------------------------------');
DBMS_OUTPUT.PUT_LINE ('Employee Name: ' || rec_ENAME);
DBMS_OUTPUT.PUT_LINE ('---------------------------------------------------');
DBMS_OUTPUT.PUT_LINE ('Employee Designation: ' || rec_JOB);
DBMS_OUTPUT.PUT_LINE ('----------------------------------------------------');
DBMS_OUTPUT.PUT_LINE ('Employee Salary: ' || rec_SAL);
DBMS_OUTPUT.PUT_LINE ('----------------------------------------------------');
DBMS_OUTPUT.PUT_LINE ('Employee Department: ' || rec_DEP);
END;
/
Danke, aber ich musste alle diese "DBMS_OUTPUT" Zeilen behalten und dann "SET SERVEROUTPUT ON" verwenden, um die Ergebnisse anzuzeigen. Was wäre der richtige Weg? Das Buch, von dem ich lerne, lehrt mich, es so zu machen. Es gibt eine Spalte departmentID in beiden Tabellen, aber ich brauchte die departmentName, die nur in der Abteilungs-Tabelle war. Ja, ich bin neu in PL/SQL, und ich lerne es als Teil meiner Datenbank-Programmierklasse für meinen Bachelor-Abschluss in Informationssystemen. – Hiram