PL/SQL编程

一、PL/SQL基础

  1. PL/SQL:Procedural Language/SQL,过程语言/SQL
  2. 是结合了Oracle过程语言和结构化查询语言的一种扩展语言
  3. 通过PL/SQL可以编写出具有很多高级功能的程序
  4. 具有编程语言的特点,能够添加程序逻辑,程序控制
  5. 一个PL/SQL语句块由三部分组成
  • 声明部分
  • 执行部分
  • 异常部分
    [DECLARE]
        -- 此处声明变量、游标等
    BEGIN
        -- 执行部分,过程或SQL语句,即程序主体
    [EXCEPTION]
        -- 异常捕捉部分
    END;
  1. 打印输出 DBMS——OUTPUT.PUT_LINE(name)
  2. 声明变量
  • 普通变量 v_name VARCHAR(20)
  • 常量 v_name CONSTANT VARCHAR(20) :=‘张三’
  1. 注释
  • – 双减号,单行注释
  • /* 多行注释 */
  1. 给变量赋值
  • v_name:=‘张三’
  • select name,age into v_name,v_age from student where stuId=6,select .. into ..赋值只能返回一条语句,返回多条或者0条则报错
  1. 属性类型
  • %type:引用某张表中某列的类型
    • v_name student.name%type:=‘zhangsan’
  • %rowtype:引用某张表中一行的类型
    • v-row student%rowtype
    • select * into v-row from emp where empId=2;

二、流程控制

  1. 条件控制
  • IF…ELSIF…ELSE…END IF;
  • CASE…WHEN…THEN…END CASE;
  1. 循环控制
  • LOOP
  • WHILE
  • FOR

三、异常处理

  1. 在运行程序是出现的错误叫做异常
  2. 异常发生后,语句将停止执行,同时立即将控制权转向异常处理部分
  3. 编译错误发生在语句执行之前,所以无法用异常处理来捕捉
  4. 异常的分类
  • 预定义异常
  • 用户自定义异常
  1. 抛异常:RAISE

四、Oracle中游标的使用

  1. 游标是指向查询结果区域的一个指针
  2. 游标为应用程序提供了一种多行数据查询结果几种的每行数据进行单独处理的办法
  3. 游标类似于JDBC中的ResultSet
  4. 游标的使用过程
  • 声明游标
  • 打开游标
  • 提取游标
  • 关闭游标
  1. 游标的属性
  • %FOUND:只有在DML语句影响一行或者多行时才返回true,表示有执行结果
  • %NOTFOUND:与上一个属性相反,如果没有影响任何行则返回true
  • %ROWCOUNT:返回受影响行数,如果没有,则返回0
  • %ISOPEN:判断游标是否打开

五、Oracle中的存储过程

  1. 存储过程是命名过程,存储在数据库中。相对于匿名过程,可以反复调用,具备可重用行。
  2. 存储过程的语法
    create [or replace] procedure procedure_name
            [(parameter_list)]
    {is | as}
            [local_declarations]
    begin
            executable_statements
    [exception]
            [exception_handlers]
    end [procedure_name];
  1. 存储过程的调用
  • 用命令调用
    • exec[ute] procedure_name(parameter_list)
  • 在PL/SQL块中调用,无需写exec
    •   begin
            procedure_name(parameter_list);
        end;
      
  1. 存错过程的参数传递
  • 按位置传递
    • proc_sum(5,6)
  • 按名称传递
    • proc_sum(num2=>1,num1=>2);
  1. 存储过程的参数模式
  • in输入参数
  • out输出参数
  • int out 输入输出参数
  1. 存储过程的访问权限授予
  • grant execute on proc_sum to zhangsan
  1. 删除存储过程
  • drop procedure proc_sum

六、Oracle中存储过程的调试与跟踪

  1. 新建存错过程
  2. 在左边窗口的Procedures节点找到你要调试的存储过程
  3. 选中要调试的存储过程右键===>添加调试信息==>测试,能打开测试窗口
  4. 在右侧调试窗口先填好存储过程的参数值
  5. 点击开始调试器就能开始调试了,点击单步进行或者单步跳过开始走

以上为看视频自己做的笔记,侵权立删

你可能感兴趣的:(oracle,PL/SQL编程)