Oracle 存储过程

Oracle 存储过程


存储过程概述

存储过程(Stored Procedure )是一组为了完成特定功能的SQL语句
集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数
(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要
对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后
存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,
若干个有联系的过程可以组合在一起构成程序包。

优点:

  • 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

  • 当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

  • 存储过程可以重复使用,可减少数据库开发人员的工作量。

  • 安全性高,可设定只有某用户才具有对指定存储过程的使用权。

创建

定义存储过程语法:

create [or replace] procedure pro_name[(
    parameter1 [{in|out|inout}] datatype1,
    parameter2 [{in|out|inout}] datatype2,
    parameter3 [{in|out|inout}] datatype3,
    ...
)]
{is|as}
[descriptionpart说明部分]
begin
    sql statement语句序列
    [exception 异常处理]
end [pro_name];

注解:
    1.or replace : 是一个可选的关键字,建议用户
        使用此关键字。如果过程已经存在,该关键字将重新
        创建过程,这样就不必删除和重新创建过程。

    2.{is | as}: 关键字is 和as均可,它们本身没什么区别,
        is 后面是一个完整的 PL/SQL块, 可以定义局部变量,
        但不能从 declare 开始。 局部变量在存储过程内部存放
        值。

    3.[{in|out|inout}]: 形式参数,如果没有写,则默认为in
        in 表示输入参数; out 表示输出参数; inout ...;

创建一个存储过程例子:

1.创建第一个存储过程, 打印 HelloWorld;
create or replace procedure pro_test 
    as
begin 
    dbms_output.put_line('HelloWorld'); 
end;

注意在PL/SQL 的命令窗口中 需添加 “/”  回车,表示输入完成,可以直接执行

2.使用
在命令窗口直接

SQL> set serveroutput on 
SQL> execute pro_test;

这里写图片描述

在SQL窗口使用
declare 
begin
  pro_test; 
end;

这里写图片描述

这里写图片描述

创建的存储过程视图:

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值