Oracle数据库_03数据库基本编程操作解读.ppt

Oracle数据库_03数据库基本编程操作解读.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle数据库_03数据库基本编程操作解读

存储过程 通过show errors可以查看创建过程中出现错误的过程 。 存储过程 上述过程error_proc在创建过程中出现警告,通过show errors查看该错误原因以及错误所在的行 。 触 发 器 实验目的 了解各种不同的触发器。 掌握创建语句以及行DML触发器。 了解如何维护触发器。 实验内容 触发器是被隐含执行的存储过程。当发生特定事件时,Oracle会自动执行触发器的相应代码,这些特定事件一般是插入、删除和修改表。触发器比数据库本身标准的功能有更精细和更复杂的数据控制能力 。 触 发 器 创建before语句触发器 : 在为某对象创建触发器时,首先要保证对象不属于sys用户。因此首先创建用户test,使其具有连接、创建表、插入和创建触发器等权限,然后通过test用户来实践创建触发器 。 注意:不同的组选应该用不同的用户名,可以用test1、test88等任意符合Oracle命名规范的用户名。 触 发 器 创建before语句触发器 : 在test用户下创建表empinf并为其插入一条语句,目的是为了方便实践触发器。 触 发 器 为表empinf创建了触发器tr_fmodify_empinf,使用户在星期二、星期六不可以更新表中的数据 : 要判断该触发器是否起作用,只要执行 : 触 发 器 注意:在实践此示例时,时间为星期二。用户在实践时,可以将时间改为自己实践的具体日期,否则更新数据不会报错,这样就不能判断触发器是否起作用了。 After触发器是在执行了DML语句后被触发的触发器 ,上面程序实现在对表插入一行数据后,触发器被触发,并且按照预设输出提示 。 触 发 器 创建after语句触发器 : 触 发 器 创建行触发器 : 从上述可以看出,当id=3时,触发器tr_empinf_id被触发。因为创建的是after行触发器,所以向表插入的行已经被插入到表中。 当不再需要基于对象的触发器时,可以删除该触发器,通过语句drop trigger就可以实现。比如:drop trigger tr_empinf_id,就可以删除该触发器 。 触 发 器 删除触发器 : SQL游标 实验目的 了解游标的作用及意义。 掌握显式游标的使用。 了解批量提取和游标变量。 SQL游标 实验内容 当在PL/SQL块中执行DML和单行select into 语句时,Oracle会分配隐含游标。为了处理select 语句返回的多行数据,需要使用显式游标。本实验介绍显式游标的使用方法以及批量提取。 显式游标专门用于处理select语句返回的多行数据,其包含四个属性,分别为 %ISOPEN、%FOUND、%NOTFOUND、%ROWCOUNT。当使用显式游标时,必须经历定义游标、打开游标、提取数据和关闭游标四个阶段 。 SQL游标 标量变量接收游标数据 : 在上述过程中,创建显式游标empinf_cursor,通过fetch每次获取一行数据,同时采用循环获取所有满足id为1的行。可以看到,结果并非像过程预计的那样输出姓名、岗位、工资,这是因为在此过程前没有将serveroutput设置为on。设置后,该过程的执行结果如下所示。 SQL游标 注意:循环结束的条件是通过判断游标的notfound属性来实现,当游标中值被取完后退出循环。 采用PL/SQL记录变量接收游标数据时,以行来获取数据,因此不需要为每列都设定标量,具体如下所示 。 SQL游标 记录变量接收游标数据 : 注意:上述过程完成了用记录empinf_cursor接收显式游标empinf_cursor_record,并通过标准输出将id 1的行中对应的name,sal列的值显示出来。可以看到,采用记录接收游标数据比标量接收游标数据方便多了 。 SQL游标 更新游标行 : SQL游标 批量提取 : Oracle 9i后可以使用fetch…bulk collect提取所有数据,具体如下所示 。 SQL游标 从上述可以看出,当输入clerk时并没有按照预定输出,检查后发现多输入了一个分号,正确的输入如下所示。 可以看到,当输入clerk时,将其所对应的记录显示出来,实现了批量提取所有数据的目的。 注意:当输入job值时,需要特别注意不能输入分号,否则Oracle会认为job为“clerk;”,而不是“clerk”,从而导致没有输出结果。 事务与并发控制 实验目的 了解事务及其控制的基本语句。 掌握事务控制的语句以及用法。 了解事务的属性。 实验内容 事务是数据操作的逻辑单位,是用户定义的一组操作序列,由一条或多条相关SQL语句组成,是数据库应用程序的基本逻辑单位。事务可以有效、安全地修改数据,使数据库中的数据始终处于一个数据一致性的状态,本实验通过以下示例详细

文档评论(0)

22ffbqq + 关注
内容提供者

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

1亿VIP精品文档

相关文档