У меня есть таблица Emp с EmpID, Empname, Salary, и я пытаюсь сделать расчет для каждого сотрудника. Но у меня возникают проблемы с попыткой выполнить итерацию по каждой emp для вычисления. Однако я не могу использовать явные курсоры.Итерация над столбцом в PL/SQL
Так что сейчас я просто пытаюсь создать список empIDs:
Declare
aRows Number;
eid emp_ID%TYPE;
Begin
Select Count(*)
Into aRows
from emp;
Select emp_ID
Into eid
From emp;
FOR days IN 1..Tot_Rows
Loop
Dbms_Output.Put_Line(eid);
eid := eid + 1;
End Loop;
END;
Но я получаю ошибку: PLS-00320: заявление типа этого выражения является неполным или неправильно
спасибо за помощь Джастину, но когда я запускаю свой первый код, но вывод dbms (eid) not (employees.eid), он не выводит его в outb dbms. Ты знаешь почему? – Leo
@ Leo- Какой инструмент вы используете? В SQL * Plus вам нужно выполнить команду SET SERVEROUTPUT ON, чтобы включить вывод DBMS_OUTPUT. –
@Leo: если вы сохранили раздел 'declare', то' eid' не может быть инициализирован, поэтому он будет печатать нуль - при условии, что вы включили сервер. @Justin, нужно ли иметь 'dbms_output.put_line (used.emp_id)' или псевдоним столбца в курсоре? –