ORACLE常用对象

ORACLE常用对象

ID:43922219

大小:202.50 KB

页数:19页

时间:2019-10-16

ORACLE常用对象_第1页
ORACLE常用对象_第2页
ORACLE常用对象_第3页
ORACLE常用对象_第4页
ORACLE常用对象_第5页
资源描述:

《ORACLE常用对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本节根据Oracle的特点,介绍Oracle的一些对象,如存储过程、函数、触发器、包、序号生成器等。8.5.1存储过程8.5.2触发器8.5.3用户自定义函数8.5.4包8.5.5序号生成器8.5Oracle常用对象Oracle中的存储过程由SQL语句和一些控制流语句组成并封装起来,经编译和优化后存储在数据库服务器中,使用时只需调用。使用存储过程有如下优点:(1)存储过程功能全面、接口灵活。(2)可减少网络数据传输量。(3)可减少调用延迟,提高程序的执行效率。(4)可保证数据的安全性和完整性。(5)

2、可维护性好。8.5.1存储过程1.存储过程的建立CREATE[ORREPLACE]PROCEDUREprocedure_name[(argument[IN

3、OUT

4、INOUT]datatype[argument[IN

5、OUT

6、INOUT]datatype]…)]IS

7、AS[declaration_statements]BEGINExecutable_statements[EXCEPTIONexception-handler_statemebts]END[procedure_name];2.存储过程的

8、重新编译与删除(1)存储过程的重新编译虽然用CREATEORREPLACE命令可以重新编译存储过程,但还有一种方法不需要有源程序的拷贝就可重新编译存储过程,其命令格式为:ALTERPROCEDUREprocedure_nameCOMPILE;当存储过程引用的对象的某种方式发生改变时,这时Oracle不能确定其状态,存储过程被标记为无效,但使用该方法能很快解决问题。(2)存储过程的删除DROPPROCEDUREprocedure_name3.存储过程的调用(1)参数表示法名表示法:其格式如下:argu

9、ment_name=>argument_value参数的位置不需要与存储过程中参数的定义顺序一致。位置表示法:调用有参数的存储过程时,参数值的顺序与存储过程中参数定义的顺序应一致。(2)PL/SQL对象或匿名PL/SQL块调用在PL/SQL对象或匿名PL/SQL块调用存储过程与调用Oracle内部函数方法一致,其格式为:procedure_name(argument_name=>argument_value[,argument_name=>argument_value[,…]])或procedure

10、_name(argument_value1[,argument_value2[,…]])触发器是一种特殊类型的存储过程,主要用于维护数据库中的表。它有以下作用:(1)安全性(2)审计(3)实现复杂的数据完整性规则(4)实现复杂非标准的数据库的相关完整性规则8.5.2触发器1.触发器的建立CREATE[ORREPLACE]TRIGGERtrigger_nameBEFORE

11、AFTER

12、INSTEADOFDELETE

13、INSERT

14、UPDATE[OFcolumn[,column]…][ORDELETE

15、

16、INSERT

17、UPDATE[OFcolumn[,column]…]…ONtable_name[[REFERENCINGOLD[AS]old1

18、NEW[AS]new1]FOREACHROW

19、statement[WHENcondition]IS

20、AS[declaration_statements]BEGINExecutable_statements[EXCEPTIONexception-handler_statemebts]注意:(1)触发器中不能对与触发器定义所在表相关的表进行操作。(2)触发器中不能

21、使用COMMIT、ROLLBACK及与之相关的语句,如果触发器调用含有这类语句的存储过程也可能出现问题。(3)在建立触发器时应避免循环触发,即建立在表A上的触发器对表B进行某种操作,而建立在表B的触发器对表A进行同种操作。2.触发器的重新编译与删除(1)触发器的重新编译虽然用CREATEORREPLACE命令可以重新编译触发器,但还有一种方法不需要有源程序的拷贝就可重新编译触发器,其命令格式为:ALTERTRIGGERtrigger_nameCOMPILE;(2)触发器的删除如果一个创建的触发器不再

22、需要了,可使用下列命令删除:DROPTRIGGERtrigger_nameOracle虽然有许多内置函数,但这些函数并不能完全满足用户的要求。用户有时进行大量相同类型的计算,但没有Oracle内置函数可供使用。Oracle提供了用户自定义函数功能。用户自定义函数作为一个命名的程序单元,可带参数,并可返回一个计算值。利用函数可完成指定的任务并提高模块的可靠性、减少开发时间。8.5.3用户自定义函数1.函数的建立CREATE[ORREPLACE]FUNCTIONfunct

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。