11编程进阶PLSQL.pptVIP

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
11编程进阶PLSQL

第十一章 编程进阶——PL/SQL ;学习目标:;11.1 PL/SQL程序结构 ;11.1 PL/SQL程序结构 ;表中的sysdate为系统时间函数;dbms_output为系统默认的程序包,put_line为包中定义的方法,功能是输出信息;在Oracle中,所有对数据库数据的更改并没有直接操作数据库,而是放在叫工作区的内存里,只有在commit语句执行后,才发生永久更改。 ;PL/SQL程序的总体结构 ;11.2 基本语法要素 ;11.2 基本语法要素 ;11.2 基本语法要素 ;记录类型的定义:;使用记录变量更新数据库表:;3. 使用%rowtype定义变量 ;4. 定义一维表类型变量 ;5. 定义多维表类型变量 ;11.2.4 表达式 ;2. 字符表达式 字符表达式由字符型常数、变量、函数和字符运算符组成,唯一可以使用的字符运算符就是连接运算符“||”。 3. 关系表达式 关系表达式由字符表达式或数值表达式与关系运算符组成,可以使用的关系运算符包括以下4种。 小于 大于 = 等于(不是赋值运算符:=) like 类似于 in 在……之中 = 小于等于 = 大于等于 != 不等于 between 在……之间 ;4. 逻辑表达式 逻辑表达式由逻辑常数、变量、函数和逻辑运算符组成,常见的逻辑运算符包括以下3种。 ?NOT:逻辑非 ?OR:逻辑或 ?AND:逻辑与 运算的优先次序为NOT、AND和OR。 ;在控制台中输入日期字段:;11.3 流程控制 ;3. if嵌套条件控制 ;11.3.2 循环控制 ;3. while..loop..end loop循环控制 ;11.4 事务处理 ;11.4.2 rollback命令 ;练习一:记录变量的使用;11.5 异常处理 ;11.5.2 自定义异常处理 ;11.6 游标 ;11.6.2 打开游标 ;记住:一个fetch语句一次只能取得一条记录,第一个fetch语句获得的是第一行记录,第二个fetch语句得到的是第二行记录,依此类推。可以通过使用循环来获取多条记录。 ;11.6.4 关闭游标 ;2. %found属性 ;4. %rowcount属性 ;步骤: 1、定义游标,定义student表记录变量; 2、打开游标; 3、循环读取游标中的行记录,并在每次循环中判断记录的name字段是否为胡青牛或丁敏君,如果是则修改该记录的professional字段;更改student表中学生胡青牛或丁敏君的记录为刚才修改的记录; 4、结束循环; 5、提交修改并关闭游标。;;与游标类似,游标变量也是指向多行查询的结果集的当前行。游标与游标变量的不同,就像常量和变量之间的关系一样。游标是静态的,要与某个具体的查询相关联,而且在运行时不能被改变;而游标变量是动态的,它并不与指特定的查询绑定在一起。可以根据不同的运行条件指向不同的查询工作区,从而提高更好的灵活性。而且,可以将新的值赋予游标变量,将它作为参数传递给本地和存储过程。如果把游标看作指向查询记录集的指针,游标变量就可以看作是保存游标指针的变量,可以动态指定变量所包含的游标。由于游标变量的类型是对游标指针的引用类型,因此,定义游标变量前要先定义对游标指针的引用类型,即REF CURSOR类型,然后声明这种类型的游标变量。 1、游标指针引用类型的定义: TYPE ref_type_name IS REF CURSOR [RETURN return_type]; ;在Oracle 9i之前,要使用游标变量,需要执行以下两步: (1)定义一个REF CURSOR类型; (2)定义这种类型的游标变量。 Oracle 9i提供了SYS_REFCURSOR通用的弱游标类型,使得定义弱游标类型变量只要一步: v_rc SYS_REFCURSOR; 后面还会讲到使用游标变量从存储过程和函数返回结果集。;11.7 过程 ;12.7.2 查询过程 ;11.7.4 执行过程 ;;使用带参数的过程 ;过程的创建和使用练习:;11.8 包 ;11.8 包 ;11.8 包 ;11.8 包 ;;11.9 存储函数 ;注意:函数主体内的return语句是必须定义的,函数通过它向调用环境返回 一个值。在函数体内可以有多个Return子句,只要遇到return子句,函数的执行就会停止,并将控制返回到调用环境。 ;在SQL语句中使用存储函数:;使用游标变量返回结果集:;使用游标变量返回结果集函数定义的变化( sys_refcursor 通用弱类型与自定义的ref cursor 弱类型兼容: ; 触发器类似于过程或函数,因为它们

文档评论(0)

gm8099 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档