无返回值的存储过程
--编写过程
create or replace procedure sp_pro7
(spBookId in number,spbookName in varchar2,sppublishHouse in varchar2) is
begin
insert into book values(spBookId,spbookName,sppublishHouse);
end;
--有返回值的存储过程(非列表)
c--有输入和输出的存储过程
create or replace procedure sp_pro8(spno in number,spName out varchar2) is
begin
select ename into spName from emp where empno=spno;
end;
--案例:编写一个过程,返回该部门所有雇员信息
create or replace procedure sp_pro8
(spno in number,spName out varchar2,spSal out number,spJob out varchar2) is
begin
select ename,sal,job into spName,spSal,spJob from emp where empno=spno;
end;
--有返回值的存储过程(列表{结果集})
--案例:编写一个过程,返回该部门所有雇员信息
--1.创建一个包
create or replace package tespackage as
type test_cursor is ref cursor;
end tespackage
2.建立存储过程
--2.创建过程
create or replace procedure sp_pro9
(spNo in number,p_cursor out tespackage.test_cursor_cursor) is
begin
open p_cursor for select * from emp where deptno = spNo;
end;