PL/SQL 存储过程学习

PL/SQL 存储过程学习

基本语法

  1. 语法:
CREATE
OR REPLACE PROCEDURE 存储过程名 IS
BEGIN
    NULL;
END;
  1. 解释:
    • CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个存储过程, 如果存在就覆盖它
    • IS关键词表明后面将跟随一个PL/SQL体
    • BEGIN关键词表明PL/SQL体的开始
    • NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句
    • END关键词表明PL/SQL体的结束
  2. 示例:
CREATE OR REPLACE PROCEDURE 存储过程名(param1 IN type,param2 OUT type) 
AS 变量1 类型(值范围);  -- vs_msg VARCHAR2 (4000);
变量2 类型(值范围);
BEGIN
    SELECT
        count(*) INTO 变量1
    FROM
        表A where列名 = param1;
    IF (判断条件) THEN
        SELECT
            列名 INTO 变量2
        FROM
            表A where列名 = param1;
        Dbms_output.Put_line (‘打印信息’);
    Elsif (判断条件) THEN
        Dbms_output.Put_line (‘打印信息’);
    ELSE
        Raise 异常名(NO_DATA_FOUND);
    END IF;
Exception
WHEN others THEN
    ROLLBACK;
END;
  1. 注意:
    • 存储过程参数不带取值范围,in表示传入,out表示输出类型可以使用任意Oracle中的合法类型
    • 变量带取值范围,后面接分号
    • 在判断语句前最好先用count(*)函数判断是否存在该条操作记录
    • 用select 。。。into。。。给变量赋值
    • 在代码中抛异常用 raise+异常名

优点

  1. 存储过程存放在数据库服务器中,而且是已经编译好的,又在服务器端执行,执行效率高
  2. 存储过程把逻辑固化,隐藏数据,增加了数据安全性
  3. 存储过程增加了程序开发的灵活性和模块化
  4. 同一,存储过程存储在服务器端,且在服务器端执行,减少了网络通信量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值