В настоящее время я застрял в этой проблеме pl / sql, я пытаюсь собрать всю информацию ЗАЯВИТЕЛЯ, который ЗАЯВЛЯЕТСЯ на определенное ПОЛОЖЕНИЕ (3 разных таблицы) в хранимую процедуру.
К сожалению, я очень новичок в oracle и pl / sql, так что я думаю, что мои соединения могут быть неаккуратными, так как моя главная проблема dbms_output.put_line - не распечатывать нужные мне данные. Я полагаю, что это может быть не в том месте в блоке кода, или возникла проблема, связанная с моими операторами соединения.
enter code here
SET ECHO ON
SET FEEDBACK ON
SET LINESIZE 100
SET PAGESIZE 100
SET SERVEROUTPUT ON
CREATE OR REPLACE PROCEDURE APPLICANTS IS
first_name APPLICANT.FNAME%TYPE;
last_name APPLICANT.LNAME%TYPE;
position_number APPLIES.PNUMBER%TYPE;
position_title POSITION.TITLE%TYPE;
str VARCHAR(300);
CURSOR fnameCursor IS
SELECT FNAME
FROM APPLICANT;
BEGIN
FOR fnameCursor IN (SELECT APPLICANT.LNAME, APPLIES.PNUMBER,
POSITION.TITLE INTO last_name, position_number, position_title
FROM APPLICANT JOIN APPLIES ON APPLICANT.ANUMBER =
APPLIES.ANUMBER
JOIN POSITION ON POSITION.PNUMBER = APPLIES.PNUMBER
WHERE FNAME = first_name
ORDER BY LNAME DESC)
LOOP
str := position_number || '' || first_name || '' || last_name || ': ' ||
position_title;
dbms_output.put_line(str);
--EXIT WHEN fnameCursor%NOTFOUND;
END LOOP;
END APPLICANTS;
/
EXECUTE APPLICANTS;