Oracle学习笔记(二十一)——pl/sql基础

一、pl/sql基础
1、pl/sql(procedural language/sql):是oracle在标准的sql语言上的扩展。
  • 不仅允许嵌入sql语言,还可以定义变量和常量。
  • 允许使用条件语句和循环语句。
  • 允许使用里外处理个各种错误。

2、过程,函数,触发器
  • 是由pl/sql编写的
  • 存储在oracle中
  • 可以在java程序中调用
  • pl/sql是非常强大的数据库过程语言

3、学习的必要性
  • 提高应用程序的运行性能
  • 模块化的设计思想【分页的过程,订单的过程,转账的过程……】
  • 减少网络传输量
  • 提高安全性【对信息的封装】

4、缺点
  • 可移植性差

5、开发工具
     1)sqlplus:oracle公司提供。
  • 编写一个存储过程,该过程可以向某表中添加记录。
    • 创建一个简单表
      • SQL>create table mytest(name varchar2(30),passwd varchar2(30));
    • 创建过程(replace表示如果有sp_pro1,则替换)
      • SQL>create or replace procedure sp_pro1 is
          2  begin
          3  insert into mytest values('小红','xiaohong');
          4  end;
          5  /
        Warning: Procedure created with compilation errors
      • 查看错误信息:show error;
      • SQL>show error;
        Errors for PROCEDURE SCOTT.SP_PRO1:
        LINE/COL ERROR
        -------- -------------------------------------
        3/20     PL/SQL: ORA-00928: 缺失 SELECT 关键字
        3/1      PL/SQL: SQL Statement ignored

        SQL>  create or replace procedure sp_pro1is
          2  begin
          3  insert into mytest values('小红','xiaohong');
          4  end;
          5  /
        Procedure created

    • 如何调用该过程
      • exec 过程名(参数值1,参数值2……);
        •     SQL>exec sp_pro1;
              PL/SQL procedure successfully completed


      • call 过程名(参数值1,参数值2……);
        •     SQL>call sp_pro1;
              PL/SQL procedure successfully completed

          SQL>call sp_pro1;
          PL/SQL procedure successfully completed
     2)pl/sql developer开发工具
  • 编写一个存储过程,该过程可以删除某表记录。
    • 创建过程(replace表示如果有sp_pro2,则替换)
      •     SQL> create or replace procedure sp_pro2 is 
              2  begin
              3  delete from mytest where name='小红';
              4  end;
              5  /
            Procedure created
    • 调用该过程
      •     SQL> exec sp_pro2;
            PL/SQL procedure successfully completed


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值