- 1、本文档共120页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle 11g数据库应用教程 11.1 存储过程 在上面语法结构中的各选项说明: OR REPLACE:表示如果指定的过程已存在,则覆盖同名的存储过程。 Procedure_name:表示存储过程的名称。 Parameter:表示存储过程中的参数。 IN:表示向存储过程传递参数。 OUT:表示从存储过程返回参数。 Date_type:表示参数类型,在指定其长度时,不能指定其长度。 AS或IS后声明的变量主要用于过程体内,且不能加DECLARE语句。 从USER_PROCEDURE视图中可以获得有关过程的信息。表11-1给出了USER_PROCEDURE视图中部分列的说明。 在这里首先在SQL*PLUS中定义了一个变量,然后以这个变量为输出参数调用过程p_coursename,然后执行PRINT命令可以查看结果,如图所11-3所示: 11.1.4 为过程添加局部变量和子过程 利用SELECT语句查看Teacher表,执行效果如图11-6所示。 单击“编辑”按钮,可对选中的过程进行编辑。单击“删除”按钮,可删除选中的过程。 11.3.2 DML触发器 执行删除Dept_ID为“082”的行,执行结果如图11-22所示: 11.3.6 管理触发器 11.3.7 使用OEM工具管理触发器 11.4 包 11.4.1 包概述 11.4.6 Oracle 11g的内置包 11.5 小结 11.6 习题 (3) 单击“确定”按钮,开始编写包规范定义部分,如图11-33所示。 图11-33 新建包的包规范定义 如果使用PL/SQL语句实现创建包,详细代码如下: CREATE OR REPLACE PACKAGE USER_YAO.pkg_course_count_maxgrd IS --声明存储变量 PROCEDURE prc_GetCourse (c_id IN USER_YAO.COURSES.COURSE_ID%TYPE, c_name OUT USER_YAO.COURSES.Cname%TYPE, c_credit OUT USER_YAO.COURSES.Credits%TYPE, c_stucount OUT NUMBER ); --声明函数 FUNCTION fn_maxgrade (f_c_id USER_YAO.SC.Course_ID%TYPE ) RETURN NUMBER ; END pkg_course_count_maxgrd; 可以看到,在包规范中没有为其提供任何代码,而只是简单定义了它们的名称和参数。而过程和函数体都被排除在外。因为规范仅是显示程序包中包括了哪些内容,而的实现则包含在包的主体部分。 需要注意规范中声明的各个项目(过程、函数和变量等)的顺序:如果各项目之间是无关的,那么项目之间的顺序是无关紧要的,但如果一个项目被另一个项目引用,那么必须在包规范中先声明被引用的项目。 2. 定义包体 程序包的包体是对包规范的实现,主要用来定义过程和函数的可执行代码。它是一个数据字典对象。只有在包规范成功编译后,包体才能被编译。在包规范中定义(不是预定义)的对象可以直接在包体中使用,不必再在包体中定义。包体的名称必须与规范的名称相同,这个相同的名称将包头和包体结合在一起。此外,包体中定义的过程和函数的名称、参数返回值则必须与规范中声明的完全匹配。简化语法结构如下: CREATE [OR REPLACE] PACKAGE BODY package_name {IS | AS} package_body END package_name; 其中: ● package_name指定包名,必须和前面包规范中的包名相匹配。 ● package_body定义了过程和函数的代码。 如果选用PL/SQL Developer工具创建包规范,具体步骤如下: 首先在PL/SQL Developer中右击已经定义包规范的pkg_course_count_maxgrd选项,从快捷菜单中选择“Create Body”项,如图11-34所示: 图11-34 选择定义包体 然后在打开如图11-35所示的窗口中编写包体定义部分。 图11-35包体定义窗口 再了解创建包体的语法后,用户也可以使用PL/SQL语句创建包体。下面是为例11-21创建的pkg_course_count_maxgrd包创建主体: CREATE [OR REPLACE] PACKAGE BODY package_name {IS | AS} package
您可能关注的文档
- Oracle 10g管理及应用王路群电子教案及练习答案 第六章 数据库的常规管理.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第七章 Oracle对象管理.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第三章 Oracle10g体系结构.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第十一章 数据库的备份与恢复.doc
- Oracle 10g管理及应用王路群电子教案及练习答案 第十章 审计与优化.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第四章 用SQL语言访问数据库.ppt
- Oracle 10g管理及应用王路群电子教案及练习答案 第五章 SQL Plus基础.ppt
- Oracle 11g管理与编程基础 教学大纲 作者 王鹏杰 王存睿 郑海旭 必修课教材征订单.doc
- Oracle 11g管理与编程基础 教学大纲 作者 王鹏杰 王存睿 郑海旭 大型数据库技术教学大纲.doc
- Oracle 11g管理与编程基础 教学大纲 作者 王鹏杰 王存睿 郑海旭 教学日历软件10级(大型数据库技术).doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
文档评论(0)