存储过程

本文介绍了如何在数据库中创建存储过程,并通过示例展示了如何使用存储过程向表中循环添加记录。此外还讲解了存储过程的参数模式及如何调用存储过程。

以向表中循环添加记录为例:

 

语法:
create [or replace] procedure 存储过程名(arg1 {in|out|in out}data_type,arg2 {in|out|intout data_type,...)
is|as
定义部分
begin
执行部分
[exception
...
]
end;

 

in,out ,in out 是形参的模式
in:实参传递给形参,值只能读不能写
out:实参传递给形参,初始值是null,但是在过程中可以被读,被写,返回时,
形参的值会赋予实参(变量)

 

建测试表:

create table t01(

  id number(5),

  name varchar2(12)

);

新建无参存储过程:

create or replace procedure test01 as
  v1 number(5);  --存储过程中声明变量不能有declare
begin
  v1:=1;
  loop
    insert into t01 values(v1,'aaaaa');
    v1:=v1+1;
    exit when v1>1000;
  end loop;
end;

/  --斜杠就是让服务器执行前面所写的sql脚本。如果是普通的select语句,一个分号,就可以执行了。但是如果是存储过程,那么遇到分号,就不能马上执行了。这个时候,就需要通过斜杠(/)来执行。

 

调用存储过程:

可以用:  

execute test01;  

exec test01;  --exec的简写

call test01();

调用时的区别:

call在pl/sql与sqlplus中都可以使用,execute只能在sqlplus中使用。

call调用无参的函数与存储过程时必须带括号,execute则不用。

 

转载于:https://www.cnblogs.com/remote-antiquity/p/6835449.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值