Oracle中创建存储过程和调用过程(一)

1、定义


        所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过
编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数
来调用并执行它,从而完成一个或一系列的数据库操作。 

 

2、存储过程的创建

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。

(1)无参存储过程语法

create or replace procedure sample_proc 
as  --声明
 msg varchar2(50);
begin  --执行
  msg:='Hello world';--为参数赋值
  dbms_output.put_line('你好的英文为:'||msg);--输出参数
exception --存贮过程异常
  ;
end;

--有三种执行语法
--执行语法1
call sample_proc();
--执行结果
sample_proc ) 成功。
你好的英文为:Hello world

--执行语法2
exec sample_proc;
--执行结果
匿名块已完成
你好的英文为:Hello world

--执行语法3
set serveroutput on
begin
 sample_proc;
end;
--执行结果
匿名块已完成
你好的英文为:Hello world

 (2)带参存储过程实例

create or replace procedure count_proc(detpcode in varchar,num out number)
as 
 cot number(5);--声明
begin
  select count(*) into cot from pat_visit_user where dept_code=detpcode;--sql语句
  num:=cot;--赋值
end;

variable num varchar2(50);--用于声明变量,也可以用简写var

exec count_proc('z128',:num);--执行存储过程

--执行结果
PROCEDURE COUNT_PROC 已编译
匿名块已完成


print num;--输出变量
--执行结果
NUM
-
3

其中参数IN表示输入参数,是参数的默认模式。
OUT表示返回值参数,也就是输出参数。类型可以使用任意Oracle中的合法类型。
OUT模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程
IN OUT表示该参数可以向该过程中传递值,也可以将某个值传出去 

 

 

  • 11
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值