【发布时间】:2020-04-18 12:23:39
【问题描述】:
程序:
create or replace PROCEDURE employee_project1 (
emp_id in EMPLOYEES.EMPLOYEE_ID%TYPE,
cur out SYS_REFCURSOR
)
IS
BEGIN
OPEN cur FOR
SELECT p.project_id,
p.project_name
FROM employees e
INNER JOIN departments d
ON ( e.department_id = d.department_id )
INNER JOIN projects p
ON ( p.department_id = e.department_id)
WHERE e.employee_id = emp_id;
END;
这个程序对我有用。我正在使用以下代码执行该过程:
执行:
declare
cur SYS_REFCURSOR;
pro_id int;
pro_name projects.project_name%TYPE;
begin
employee_project1(43, cur);
loop
fetch cur into pro_id, pro_name;
exit when cur%NOTFOUND;
dbms_output.put_line(pro_id||' '||pro_name);
end loop;
end;
我必须用 JDBC 调用 java 中的过程。那么如何通过上面的执行代码调用java中的过程呢?
【问题讨论】:
-
也许您需要使用PL/SQL collection ?
标签: sql oracle stored-procedures plsql