为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle数据库开发必备利器之PL/SQL基础

难度初级
时长 3小时22分
学习人数
综合评分9.57
114人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.5 逻辑清晰
  • 2—2 引用型变量和记录型变量
    查看全部
  • oracle连接

    查看全部
    0 采集 收起 来源:SQL Developer安装

    2019-04-14

  • declare 声明
    查看全部
  • PLSQL程序设计综合案例

    程序设计方法

    瀑布模型:

    1. 需求分析

    2. 设计:概要设计,详细设计

    3. 编码:coding

    4. 测试:testing

    5. 上线部署

      编写程序,方法:

      1.考虑需要用到什么sql语句

      2.考虑会需要哪些变量,考虑变量的初始值,最终值如何得到

    查看全部
  • 自定义例外

    定义变量,类型是exception

    使用raise抛出自定义例外

    --------------------------实例如下-----------------------------------------------------------------------------------------------------------------

    declare

    --声明游标

    cursor cemp(dno number) is select ename from emp where deptno=dno;

    --定义变量

    pname emp.ename%type;

    --定义特殊异常变量

    no_emp_found exception;

    begin

    --打开游标

    --20为部门号,是游标传入的形参对应的实参

    open cemp(50);

    --游标读取第一行数据

    fetch cemp into pname;

    --判断游标是否有读取到数据

    if cemp%notfound then 

    --没有,则使用raise关键字将自定义异常抛出

    raise no_emp_found;

    --如果有数据,则进行循环读取并打印出来

    else

    loop

    --注意此处打印语句,如果移到fetch后,则打印的结果会少一个,

    --因为前面游标已经读取了一条,不在循环之前打印出来有直接往下读取了,所以就导致了少了一条数据

     dbms_output.put_line(pname);

     fetch cemp into pname;

     --当游标读取完所有数据后退出循环

     exit when cemp%notfound;

     end loop;

     end if;

     --注意:当系统抛出异常,游标并没有被关闭,oracle自动启动pmon(process monitor:进程监视器),

     --将遗留的垃圾进行一个个回收清理干净

    close cemp;

    --例外

    exception

    --接收抛出的异常并作出处理

    when no_emp_found then dbms_output.put_line('找不到员工');

    when others then dbms_output.put_line('其他例外');

    end;

    /


    查看全部
    0 采集 收起 来源:自定义例外

    2019-03-09

  • 算术或者转换例外:value_error

    https://img1.sycdn.imooc.com//5c8350ab0001ab2704550207.jpg

    查看全部
  • 系统例外之 zero_divide

    https://img1.sycdn.imooc.com//5c834de20001250605560395.jpg

    查看全部
  • 系统例外之 too_many_rows

    https://img1.sycdn.imooc.com//5c834f5c00014cfe05000244.jpg

    查看全部
  • 系统例外之 no_data_found

    https://img1.sycdn.imooc.com//5c8349130001b9d804340258.jpg

    查看全部
  • PLSQL中的例外

    例外是程序设计语言提供的一种功能,用来增强程序的健壮性和容错性

    系统例外

    No_data_found (没有找到数据)

    Too_many_rows (select...into 语句匹配多个行)

    Zero_Divide (被零除)

    Value_error(算术或转换错误)

    Timeout_on_resource (在等待资源是发生超时)


    查看全部
  • 带参数的光标

    cursor  光标名  [(参数名  数据类型[,参数名  数据类型]...)]  is  select  语句;

    https://img1.sycdn.imooc.com//5c822c6b0001704006720291.jpg

    查看全部
  •  1.光标的属性

         %found  %notfound

         %isopen:判断光标是否打开 true/false

         %rowcount:影响的行数

        2.光标数的限制:默认情况下,oracle数据库只允许在同一个会话中,打开300个光标    

    https://img1.sycdn.imooc.com//5c8221c60001c27104810287.jpg

        修改光标数的限制:

        alter  system  set open_cursors=400 scope=both;

        scope的取值:both,memory,spfile(数据库需要重启)



    查看全部
  • 光标(游标)使用语法:

    1. 定义游标

      https://img1.sycdn.imooc.com//5c82111a00019a8502960064.jpg

    2. 为光标定义对应的变量

      https://img1.sycdn.imooc.com//5c8211710001b2a802280059.jpg

    3. 在程序体中打开光标

      https://img1.sycdn.imooc.com//5c82124100011af801030059.jpg

    4. 循环体中不断取出新数据

      https://img1.sycdn.imooc.com//5c8213d50001b02303550173.jpg

    5. 关闭光标

      https://img1.sycdn.imooc.com//5c82167400018fff01540082.jpg

      程序执行如果没报错,也没产生效果,原因在于PLSQL程序体有对sql语句操作(对数据进行更改)时,需要在事物中执行;而oracle默认事物级别为read committed,意味着如果没有加上commit 进行提交,将不会产生效果(这里涉及到事物的原子性,隔离性,完整性和一致性),所以在关闭光标后需要提交事物。

    6. 提交事物(涉及数据更改时)

      https://img1.sycdn.imooc.com//5c821bfd0001de3202010099.jpg

      如果在写commit之前执行过PLSQL程序一次了,但是数据没发生改变,那么,在加上commit之后,最好在begin 后面加个  rollback,将刚才的执行过的回退掉,防止影响到结果

    查看全部
  • 光标(游标)

    引用变量类型和记录标量类型都不能代表一个集合,而光标可以,它就是一个结果集。

    查看全部
  • 循环语句

    1. while

      https://img1.sycdn.imooc.com//5c81dc240001446e03000221.jpg

    2. Loop

      EXIT [when  条件];   ---当条件成立的时候,退出循环

      .......     ---否则进入循环操作要执行的语句

      End loop;

    3. For

      FOR  i  IN  1..3   LOOP

      语句序列;

      END LOOP;

    查看全部

举报

0/150
提交
取消
课程须知
亲,要学习本门课程只需要熟练使用Oracle的SQL语句就可以了,可以参考慕课网的课程《Oracle数据库开发必备利器之SQL基础》呦!
老师告诉你能学到什么?
1、能够熟练掌握PL/SQL的基本语法 2、能够熟练使用光标和例外 3、能够熟练使用PL/SQL进行开发

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!