存储过程函数和包公开课获奖课件.pptxVIP

存储过程函数和包公开课获奖课件.pptx

  1. 1、本文档共81页,可阅读全部内容。
  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文档。上传文档
查看更多

;

寄存过程

函数

包;8.1寄存过程和函数; *寄存过程和函数以命名数据库对象形式寄存于数据库当中。寄存在数据库中长处是很明显,由于代码不保留在当地,顾客可以在任何客户机上登录到数据库,并调用或修改代码。

*寄存过程和函数可由数据库提供安全保证,要想使用寄存过程和函数,需要有寄存过程和函数所有者授权,只有被授权顾客或创立者自身才能执行寄存过程或调用函数。; *寄存过程和函数信息是写入数据字典,因此寄存过程可以看作是一种公用模块,顾客编写PL/SQL程序或其他寄存过程都可以调用它(但寄存过程和函数不能调用PL/SQL程序)。一种反复使用功能,可以设计成为寄存过程,例如:显示一张工资登记表,可以设计成为寄存过程;一种常常调用计算,可以设计成为寄存函数;根据雇员编号返回雇员姓名,可以设计成寄存函数。; *像其他高级语言过程和函数同样,可以传递参数给寄存过程或函数,参数传递也有多种方式。寄存过程可以有返回值,也可以没有返回值,寄存过程返回值必须通过参数带回;函数有一定数据类型,像其他原则函数同样,我们可以通过对函数名调用返回函数值。

寄存过程和函数需要进行编译,以排除语法错误,只有编译通过才能调用。; 8.1.2创立和删除寄存过程

创立寄存过程,需要有CREATEPROCEDURE或CREATEANYPROCEDURE系统权限。该权限可由系统管理员授予。创立一种寄存过程基本语句如下:

CREATE[ORREPLACE]PROCEDURE寄存过程名[(参数[IN|OUT|INOUT]数据类型...)]

{AS|IS}

[阐明部分]

BEGIN

可执行部分

[EXCEPTION

错误处理部分]

END[过程名];; 其中:

可选关键字ORREPLACE表达假如寄存过程已经存在,则用新寄存过程覆盖,通常用于寄存过程重建。

参数部分用于定义多种参数(假如没有参数,就可以省略)。参数有三种形式:IN、OUT和INOUT。假如没有指明参数形式,则默认为IN。

关键字AS也可以写成IS,后跟过程阐明部分,可以在此定义过程局部变量。

编写寄存过程可以使用任何文本编辑器或直接在SQL*Plus环境下进行,编写好寄存过程必须要在SQL*Plus环境下进行编译,生成编译代码,??代码和编译代码在编译过程中都会被存入数据库。编译成功寄存过程就可以在Oracle环境下进行调用了。; 一种寄存过程在不需要时可以删除。删除寄存过程人是过程创立者或者拥有DROPANYPROCEDURE系统权限人。删除寄存过程语法如下:

DROPPROCEDURE寄存过程名;

假如要重新编译一种寄存过程,则只能是过程创立者或者拥有ALTERANYPROCEDURE系统权限人。语法如下:

ALTERPROCEDURE寄存过程名PILE;

; 执行(或调用)寄存过程人是过程创立者或是拥有EXECUTEANYPROCEDURE系统权限人或是被拥有者授予EXECUTE权限人。执行措施如下:

措施1:

EXECUTE模式名.寄存过程名[(参数...)];

措施2:

BEGIN

模式名.寄存过程名[(参数...)];

END;; 传递参数必须与定义参数类型、个数和次序一致(假如参数定义了默认值,则调用时可以省略参数)。参数可以是变量、常量或表达式,使用措施参见下一节。

假如是调用本账户下寄存过程,则模式名可以省略。要调用其他账户编写寄存过程,则模式名必须要添加。

如下是一种生成和调用简朴寄存过程训练。注意要事先授予创立寄存过程权限。; 【训练1】创立一种显示雇员总人数寄存过程。

环节1:登录SCOTT账户(或学生个人账户)。

环节2:在SQL*Plus输入区中,输入如下寄存过程:

CREATEORREPLACEPROCEDUREEMP_COUNT

AS

V_TOTALNUMBER(10);

BEGIN

SELECTCOUNT(*)INTOV_TOTALFROMEMP;

DBMS_OUTPUT.PUT_LINE(雇员总人数为:||V_TOTAL);

END;; 环节3:按“执行”按钮进行编译。

假如存在错误,就会显示:

警告:创立过程带有编译错误。

假如存在错误,对脚本进行修改,直到没有错误产生。

假如编译成果对旳,将显示:

过程已创立。

环节4:调用寄存过程,在输入区中输入如下语句并执行:

EXECUTEEMP_COUNT;

显示成果为:

雇员总人数为:14

PL/SQL过程已成功完毕。; 阐明:在该训练中

文档评论(0)

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

简简单单 落落大方

1亿VIP精品文档

相关文档