Oracle笔记(7)---过程

--创建过程

--语法:
--create [or replace] procedure <过程名>
--(<参数1> [in|out|in out] <数据类型1>,
-- <参数2>[in|out|in out] <数据类型1>
--...)
--is|as
--pl/sql过程体;

--无返回值的存储过程
create or replace procedure dept_add
(
  dept_no in number,
  dept_name in varchar2,
  detp_loc in varchar2
)
as
begin
  insert into dept(deptno,dname,loc) values (dept_no,dept_name,detp_loc);
end;

--有返回值的存储过程(非列表)
create or replace procedure detp_get_name
(
  dept_no in number,
  dept_name out varchar2
)
as
begin
  select dname into dept_name from dept where deptno = dept_no;
end;

--返回列表
--由于oracle存储过程没有返回值,它的所有返回值都是通过out参数来替代的,列表同样也不例外,但由于是集合,所以不能用一般的参数,必须要用pagkage 了.所以要分两部分,

--1.建一个程序包
create or replace package testpackage
as
  type test_cursor is ref cursor;
end testpackage;

--2.建立存储过程
create or replace procedure dept_get_all
(
  p_cursor out testpackage.test_cursor
)
as
begin
  open p_cursor for select deptno,dname from dept;
end dept_get_all;

--在存储过程中做简单动态(待补充)


--删除存储过程
drop procedure <过程名>;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。