数据库应用3.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
数据库应用3

《数据库应用》上机实验报告3 班 级: 学 号: 姓 名: 实验目的: 通过本次上机,进一步使用oracle的功能做一些实践,学会过程和函数的创建并使用。 实验内容: 实验内容: 在HR用户的例表下,自行设计业务逻辑 分别实现设计过程与函数各一个,要求提交并存储到数据中。 实验结果与分析: 1、设计一个过程,过程的声明语法: CREATE [OR REPLACE]PROCEDURE 过程名[(参数名 参数类型,…)] is --变量声明部分 [变量名 变量类型] BEGIN --过程体 [EXCEPTION] --异常处理 END; / 注:--后为注释 创建一个过程reg_pro,该过程可以展示出某一id对应的地区名。 过程创建截图如下: 使用reg_pro,展示结果如下: 选择出region_id为2的那个地区名给reg_id。 REGIONS表的数据信息: 2、创建一个函数,函数声明语法: CREATE [OR REPLACE]FUNCTION 函数名[(参数名 参数类型,…)] RETURN 数据类型 is --变量声明部分 [变量名 变量类型] BEGIN --函数体 [EXCEPTION] --异常处理 END; / 创建函数j_fun的截图展示如下: 使用该函数。并展示结果: J_fun将某一个JOB的max_salary+1000,选择出job_id为AD_VP的JOB,并将max_salary的值加上1000后给j_max_salary。 JOBS表的部分数据: 3、异常节: EXCEPTION WHEN exception_name THEN error handling statements; …… [WHEN OTHERS default exception handling;] 异常节是最后一节,是可选的。 异常节用于处理在执行该块的逻辑期间所发生的任何错误。 异常的名称: PL/SQL中已经定义了许多异常,例如no_data_found。参考《Oracle PL/SQL User’s Guide》 自己定义并启动异常:定义异常时和普通的变量声明是一样的。 execption_name EXCEPTIONS; RAISE exception_name; 异常相关函数: 异常处理过程中,需要明确知道发生异常的原因。 在WHEN OTHERS语句中,将众多的错误原因放在一起进行处理,需要明确知道错误的类型和原因。 Oracle提供了两个系统变量用以处理此问题: SQLCODE,返回错误的错误代码; SQLERRM,返回错误的出错信息; exception when others then dbms_output.put_line (‘Error’ || SQLERRM || ‘occurred.’); 实验小结: 通过本次上机,对过程和函数的实现有了一定的了解,在解决创建过程和函数的过程中出现的问题时发现了自己的不足。 代码: SQL create or replace procedure reg_pro(reg_id number) is 2 reg_name varchar2(25); 3 begin 4 select region_name into reg_name from regions where region_id=reg_id; 5 dbms_output.put_line(地区:||reg_name); 6 end; 7 / 过程已创建。 SQL set serveroutput on SQL exec reg_pro(2) 地区:Americas PL/SQL 过程已成功完成。 SQL create or replace function j_fun(j_id varchar) 2 return number is 3 j_max_salary number(6,0); 4 begin 5 select (max_salary+1000) into j_max_salary from jobs where job_id=j_id; 6 return j_max_salary; 7 end; 8 / 函数已创建。 SQL select j_fun(AD_VP) fr J_FUN(AD_VP) -------------- 31000 31000 31000 31000

文档评论(0)

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

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

1亿VIP精品文档

相关文档