Oracle 在游标中使用for循环和别名检索变量
我正在尝试使用for循环来打印一组数据,我很好奇是否可以使用别名来检索信息,或者我将如何为for循环执行此操作Oracle 在游标中使用for循环和别名检索变量,oracle,for-loop,plsql,cursor,alias,Oracle,For Loop,Plsql,Cursor,Alias,我正在尝试使用for循环来打印一组数据,我很好奇是否可以使用别名来检索信息,或者我将如何为for循环执行此操作 DECLARE job_ VARCHAR2(35); employee_name VARCHAR2(35); manager_name VARCHAR2(35); salary_difference NUMBER(20,2); CURSOR cur_salary_difference IS SELECT job_title, employees.first_name || '
DECLARE
job_ VARCHAR2(35);
employee_name VARCHAR2(35);
manager_name VARCHAR2(35);
salary_difference NUMBER(20,2);
CURSOR cur_salary_difference IS
SELECT job_title, employees.first_name || ' ' || employees.last_name "Employee",
m.first_name || ' ' || m.last_name "Manager", (employees.salary-m.salary) "Salary Difference"
FROM employees
LEFT OUTER JOIN employees m ON
employees.manager_id = m.employee_id
JOIN jobs j ON employees.job_id = j.job_id
ORDER BY "Employee";
BEGIN
DBMS_OUTPUT.PUT_LINE('Listings of employees with salary difference compared to manager');
FOR people IN cur_salary_difference LOOP
DBMS_OUTPUT.PUT_LINE (chr(10) || 'Job Title:' || people.job_title);
DBMS_OUTPUT.PUT_LINE ('Employee:' || people.employee);
DBMS_OUTPUT.PUT_LINE ('Manager:' || people.manager);
DBMS_OUTPUT.PUT_LINE ('Salary Difference:' || salary_difference);
END LOOP;
END;
这应该行得通,只要修改一下工资上的打字错误就行了
(employees.salary-m.salary) "Salary_Difference"
我确实试过了,但是没有双引号来解决这个问题。谢谢你的建议。