[计算机]Oracle高级部分_最新笔记.docVIP

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

Oracle高级部分:开整 Pl/sql简介 Pl/sql是结构化查询语言(sql)和Oracle过程语言(PL)的扩展集。可以通过pl/sql完成这样的事情比如:存储过程,存储函数,触发器………….包括程序包。 也就是说:pl/sql也是一种编辑器,那么pl/sql也是一门语言。 PL/SQL程序 所有的PL/SQL程序都是包含在称之为(BLOCK)的结构中。那么当你创建一个存储过程或者存储函数的时候,就 要给对应的代码块一个名字。如果没有给代码块起名字,那么这个代码块就是匿名代码块。 块相当于java中的匿名游离块(游离块测试时候是比较方便的),有名字的就叫存储过程,或函数,存储过程和函数是不可跨平台的。 练习:使用存储块进行数据库的插入操作。 declare p constant number := 1111;--定义一个常量,值是不可以变的 price number; --定义一个常量 num number; str varchar2(100); idz nitpro.nc_hd_duo.id%type;--要想跨平台只能这么定义变量,上面定义方式就不行了。 begin --程序块开始执行 price := 10;--给变量赋值 num := price * p;--进行计算同时给变量赋值 idz := 11; insert into nc_hd_a values(1, price, num);--执行指定的sql commit;--提交事务 insert into nc_hd_duo values(idz,str||ddd,22); commit; dbms_output.put_line(dfdsfdsafdsa||===||p);--输出内置函数 end;--程序块结束 select * from user_all_tables select * from user_tab_cols where table_name=NC_HD_ZM_D_TZYY 组成部分 说明 声明部分 定义并且初始化块中的变量和游标 可执行命令部分 用流程控制命令(如if,else或者循环命令)执行命令,并且给声明的变量赋值 异常处理 定义对错误的处理 声明部分 声明部分是程序块的开始。并且用declare关键字开始,后面跟着变量和游标的定义。可以定义具有常量值的变量,并且变量可以继承已经存在的列和查询结果中的数据类型。 定义方式如下: 变量名 类型 当一个数据是常量的时候,要如下定义 常量名 constant 类型 := 具体值; 也可以用default来进行声明如下:常量名 constant 类型 default 具体值; 游标:一种自动(隐形的,select自带隐形游标),一种定义(显性的)。游标是个容器:第一次放在结果集第一行的上面。 Java在获取数据库的时候是一行一行迭代取,其实实现原理就是游标。所以这就是说为什么java在处理Sybase数据库特别繁琐,因为它没有游标。 关系数据库中的操作是在完整的行集合上执行的。由 SELECT 语句返回的行集合包括满足该语句的 WHERE 子句所列条件的所有行。由该语句返回完整的行集合叫做结果集。应用程序,尤其是互动和在线应用程序,把完整的结果集作为一个单元处理并不总是有效的。这些应用程序需要一种机制来一次处理一行或连续的几行。而游标是对提供这一机制的结果集的扩展。 游标是通过游标库来实现的。游标库是常常作为数据库系统或数据访问 API 的一部分而得以实现的软件,用来管理从数据源返回的数据的属性(结果集)。这些属性包括并发管理、在结果集中的位置、返回的行数,以及是否能够在结果集中向前和/或向后移动(可滚动性)。 游标跟踪结果集中的位置,并允许对结果集逐行执行多个操作,在这个过程中可能返回至原始表,也可能不返回至原始表。换句话说,游标从概念上讲基于数据库的表返回结果集。由于它指示结果集中的当前位置 ,就像计算机屏幕上的光标指示当前位置一样,“游标”由此得名。 使用游标前的准备 %type属性 在PL/SQL中可以将变量和常量声明为内建或用户定义的数据类型,以引用一个列名,同时继承他的数据类型和大小。这种动态赋值方法是非常有用的,比如变量引用的列的数据类型和大小改变了,如果使用了%TYPE,那么用户就不必修改代码,否则就必须修改代码。 定义方式如下:变量名 当前用户名.表名.列名%type; idz nitpro.nc_hd_duo.id%type; 好处:以后写存储过程的时候有个概念:资源表和字典表不是一个东西啊。资源表:是将数据库里所有存储过程和函

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档