数据库存储过程学习笔记

oracle10gr2

学了下数据库存储过程,总结一下。对刚才学习有所交代。

存储过程结构:

create or replace procedure 过程名(参数1,参数2,参数3......)

as

数据定义(i number)

begin

存储过程体

end;

/


一、参数1,参数2,参数3

参数类型有:

IN :值传递,默认的

IN OUT :带值进,带值出

OUT:不带值进,带值出

参数1,可以这样定义:参数名 类型 数据类型。如:name IN OUT dept.dname%TYPE。

创建存储过程,判断如果deptno不存在,则插入一条记录。

create or replace procedure myproc(dno in out dept.deptno%type,name dept.dname%type,dl dept.loc%type)

as

cou number;

begin

select count(deptno) into cou from dept where deptno=dno;

if cou=0 then 

insert into dept(deptno,dname,loc) values(dno,name,dl);

dno:=1;

else

dno:=-1;

end if;

end;

/

执行该过程。

declare 

deptno dept.deptno%type;

begin

deptno:=12;

myproc(deptno,'haha','shenyang');

DBMS_OUTPUT.put_line(deptno);

end;

/

再试试参数类型为OUT类型的。

create or replace procedure myproc(dno OUT dept.deptno%type)

as

I number;

begin

I:=dno;

dno:=12;

end;

/

执行该过程:

declare

dno dept.deptno%type;

begin

dno:=12;

myproc(dno);

DBMS_OUTPUT.put_line(dno);

end;

/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值