커서를 만들때 파라미터를 이용하여 만드는 겁니다. 크게 어렵지는 않으니 예제를 해보시기 바랍니다.
SQL> ed a13
DECLARE
CURSOR c_dept IS
SELECT *
FROM s_dept;
CURSOR c_emp_sal (p_dept_id s_emp.dept_id%TYPE) IS
SELECT last_name, salary
FROM s_emp
WHERE dept_id = p_dept_id;
BEGIN
FOR dept IN c_dept LOOP
DBMS_OUTPUT.PUT_LINE('=========================');
DBMS_OUTPUT.PUT_LINE(dept.id || ' :: ' || dept.name);
FOR emp_record IN c_emp_sal (dept.id) LOOP
DBMS_OUTPUT.PUT_LINE(emp_record.last_name ||
' ' || emp_record.salary);
END LOOP;
END LOOP;
END;
/
SQL> @a13
SQL> ed a13
DECLARE
CURSOR c_dept IS
SELECT *
FROM s_dept;
CURSOR c_emp_sal (p_dept_id s_emp.dept_id%TYPE) IS
SELECT last_name, salary
FROM s_emp
WHERE dept_id = p_dept_id;
BEGIN
FOR dept IN c_dept LOOP
DBMS_OUTPUT.PUT_LINE('=========================');
DBMS_OUTPUT.PUT_LINE(dept.id || ' :: ' || dept.name);
FOR emp_record IN c_emp_sal (dept.id) LOOP
DBMS_OUTPUT.PUT_LINE(emp_record.last_name ||
' ' || emp_record.salary);
END LOOP;
END LOOP;
END;
/
SQL> @a13
![]() | ![]() ![]() | 12-27 | 2122 | |
![]() | ![]() ![]() | 12-11 | 1532 | |
53 | ![]() ![]() | 03-15 | 1305 | |
52 | ![]() ![]() | 01-31 | 1444 | |
51 | ![]() ![]() | 01-31 | 1448 | |
50 | ![]() ![]() | 01-31 | 1128 | |
49 | ![]() ![]() | 01-19 | 1446 | |
48 | ![]() ![]() | 01-11 | 1275 | |
47 | ![]() ![]() | 01-03 | 1775 | |
46 | ![]() ![]() | 12-27 | 2122 | |
45 | ![]() ![]() | 12-19 | 1536 | |
44 | ![]() ![]() | 12-14 | 1513 | |
43 | ![]() ![]() | 12-11 | 1532 | |
42 | ![]() ![]() | 12-09 | 1217 | |
41 | ![]() ![]() | 12-01 | 1448 | |
40 | ![]() ![]() | 12-01 | 1587 | |
39 | ![]() ![]() | 12-01 | 1100 |
댓글 없음:
댓글 쓰기