过程和函数都可以通过OUT指定一个或者多个输出参数,在过程和函数中可以使用out实现返回多个值。
--out参数:查询某个员工姓名 月薪和职位
CREATE OR REPLACE PROCEDURE queryEmpInform(eno IN NUMBER,
pename OUT VARCHAR2,
psal OUT NUMBER,
pjob OUT VARCHAR2)
AS
BEGIN
--得到该员工的姓名,月薪和职位
SELECT ename,sal,job INTO pename,psal,pjob FROM emp WHERE empno=eno;
END;
在out参数中使用游标
CREATE OR REPLACE PACKAGE mypackage AS
TYPE empcursor IS REF CURSOR;
PROCEDURE queryEmpList(dno IN NUMBER,empList OUT empcursor);
END mypackage;
CREATE OR REPLACE PACKAGE BODY mypackage AS
PROCEDURE queryEmpList(dno IN NUMBER,empList OUT empcursor) AS
BEGIN
--打开游标
OPEN empList FOR SELECT * FROM emp WHERE deptno=dno;
END queryEmpList;
END mypackage;