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

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

难度初级
时长 3小时22分
学习人数
综合评分9.57
114人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.5 逻辑清晰
  • 为什么要把数组叫做光标呢

    查看全部
  • 没有提示信息貌似也没有什么问题吧

    查看全部
  • 11行是很精华的一列,就是有点难以理解

    查看全部
  • into语句的顺序要按照前面查询语句的顺序来写

    查看全部
  • 引用型变量,引用你的类型作为我的类型

    查看全部
  • 命令式的语言

    查看全部
    0 采集 收起 来源:PL/SQL简介

    2020-01-19

  • 分支和循环就是过程处理能力吗

    查看全部
    0 采集 收起 来源:PL/SQL简介

    2020-01-19

  • 要有一个结果集

    查看全部
  • 自定义例外:PL/SQL中可以把它当做变量来处理,所以需要declare语句后定义自定义例外,类型是exception,自定义例外需要使用raise抛出,捕获的方式就和系统方式一样。

    举例:查询50号部门的员工姓名,但是这里没有部门号为50的部门,所以这里自定义一个例外。需要注意的地方有raise抛出异常。

    http://img1.sycdn.imooc.com//5df7893b0001167305650527.jpg

    http://img1.sycdn.imooc.com//5df7894e00012cd907640241.jpg

    注意:这里需要注意当自定义异常执行后,close cemp这行代码就不会执行了,直接跳转到exception这行代码执行了,这里这样写是没有问题的,oracle有一个机制,当异常退出时,会检查程序中有没有关闭的资源,它会自动启动一个进程,这个进程就会把系统遗留的垃圾和资源进行清理,所以close cemp最终会被这个pmon调用。

    http://img1.sycdn.imooc.com//5df78c1e000189cb05380099.jpg

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

    2019-12-16

  • value_error例外:当算数错误,例如负数开平方。或者类型转换错误,字符串赋值给数值型。会产生该例外。

    举例:将一个字符赋值给数值型变量。

    http://img1.sycdn.imooc.com//5df7848f000142f406030356.jpg

    注意:如图,将字符类型的数字赋值给数值型变量不会报错。

    http://img1.sycdn.imooc.com//5df785d800011c6a14880354.jpg

    查看全部
  • zero_divide例外:除零例外。

    举例:如图。注意:这里的then后面相当于一个大括号,后面可以是多个语句。这里举例演示。

    http://img1.sycdn.imooc.com//5df782d700019eee05190371.jpg

    查看全部
  • Too_many_rows:该例外表示select语句查询后,将多个记录赋值给一个变量。

    举例:如图,查询时匹配了多个行,捕获进行提示。

    http://img1.sycdn.imooc.com//5df7812f00015d4607060465.jpg

    查看全部
  • No_data_found例外:表示一条select语句没有查询到数据时候就会产生这个例外。

    举例:产生这个例外并进行捕获,输出提示。

    例外的捕获:如果产生例外,就可以通过exception捕获例外。,至于何种例外,可以通过when来判断,then表示符合时执行的操作,如果有多个例外,可以定义多个when来进行捕获。如图

    注意:在PL/SQL中要捕获所有的例外,不要往外抛,一旦往外抛,就意味着抛给了数据库,这样数据库可能会运行出错。所以这里可以通过在最后一个when后面使用others,表示除了上面的例外,其他的都会被该语句处理。

    http://img1.sycdn.imooc.com//5df77df7000122f506050335.jpg


    查看全部
  • 例外定义:程序设计语言的一种功能,用来增强程序(PL/SQL程序)的健壮性和容错性。

    可以通过查看oracle文档了解例外的使用。

    http://img1.sycdn.imooc.com//5df777770001c19111710676.jpg

    http://img1.sycdn.imooc.com//5df7779500011af411780677.jpg

    http://img1.sycdn.imooc.com//5df777ce0001282b11760672.jpg

    http://img1.sycdn.imooc.com//5df777eb0001141411750641.jpg

    http://img1.sycdn.imooc.com//5df778000001436311870644.jpg

    PL/SQL中的例外可以分为两种:

    1、Internally defined——》系统例外,这种例外是oracle事先定义好的。

    举例:这里介绍如图所示几种系统例外。这里的资源等待超时的产生场景会在分布式数据库情况下发生。

    http://img1.sycdn.imooc.com//5df7794b0001898210330330.jpg

    http://img1.sycdn.imooc.com//5df7798f00011d5d09880527.jpg

    分布式数据库:两个数据库物理上不是一个数据库,但是逻辑上是一个数据库,其中一个数据库访问另一个数据库,但是由于某些原因一直没有返回数据,此时就会有一个时间,超过这个时间,就会产生这个Timeout_on_resource这个例外。

    http://img1.sycdn.imooc.com//5df77b140001389d11000512.jpg

    2、user defined——》自定义例外,我们自己定义一个例外。

    查看全部
  • 带参数的光标语法:如图,如果多个参数,逗号进行分隔。

    http://img1.sycdn.imooc.com//5df63c3f0001a2dd10400344.jpg

    举例:查询某一部门的员工姓名。如图。它和不带光标的区别在于1、定义不同。2、打开不同(打开光标时,注意:需要传入一个参数)。这里传入的10代表部门号。

    http://img1.sycdn.imooc.com//5df63e300001567407630524.jpg

    http://img1.sycdn.imooc.com//5df63e3700011d1406070232.jpg

    注意:光标%notfound的原理是判断是否从光标中fetch数据到变量中,如果fetch数据到变量中了,就返回false,如果没有fetch到数据到变量中,就返回true。

    查看全部

举报

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

微信扫码,参与3人拼团

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

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