- 3
- 0
- 约1.53万字
- 约 79页
- 2016-12-26 发布于广东
- 举报
数据库原理与应用 第8章 PL/SQL应用 学习目标 ● 掌握存储过程、存储函数、触发器等高级数据库方案对象的基本作用。 ● 掌握利用企业管理控制台和命令行两种方式创建、调用、修改、删除存储过程、存储函数、触发器等高级数据库方案对象方法。 第8章 PL/SQL应用 存储过程 在学生选课系统中有时需要利用学生的出生日期计算学生的年龄,这个功能可以利用前台编程实现,但学生出生日期数据需要通过网络传输到前台,前台计算后如果需要存储则再将结果传到后台数据库服务器中,这个过程增大了网络数据传输量,影响了数据修改的速度,如果能直接在后台编程实现统计就克服了这个弊端,此时可以创建存储过程。 8.1 存储过程 8.1.1 创建存储过程 Oracle数据库中创建存储过程的方法有企业管理控制台方式和命令行方式两种。 ⒈ 企业管理控制台方式 登录到数据库后,选择“方案”→方案名→“源类型”→“过程”,单击鼠标右键,在快捷菜单中选中“创建”,出现创建存储过程窗口,“一般信息”选项卡如图8-1所示。 ⒈ 企业管理控制台方式 “一般信息”选项卡用于定义存储过程的一般属性,主要信息如表8-1所示。 ⒈ 企业管理控制台方式 PL/SQL源代码包含存储过程的参数说明和过程体的声明、执行、异常处理部分,其中过程的声明、执行、异常处理部分在第7章已讲过,参数说明部分在最前面,用括号括起来,多个参数之间用“,”分隔,其说明格式为: 参数名 IN|OUT|INOUT 数据类型 其中,IN|OUT|INOUT 为参数的类型。IN是将参数值传递进过程内部,即定义的参数为传入参数,它在过程内部是只读的,赋值后也不能改变;OUT将参数值传递给调用存储过程者,即定义的参数为传出参数;INOUT是前两者的结合,即定义的参数为传入传出参数,它可以将参数值传递进存储过程,也可以将参数值传递给调用存储过程者,在过程内部它是可以被改写的。缺省是传入参数。 注意:为参数定义数据类型时只指明类型不指定长度。 设置完毕后,单击“显示SQL”按钮,即可显示自动形成的创建存储过程的CREATE PROCEDURE语句,此语句即为命令行方式创建存储过程的命令,单击“创建”按钮即可完成存储过程的创建。 ⒉ 命令行方式 命令行方式创建存储过程的方法为在SQL Plus或SQL Plus Worksheet中使用CREATE PROCEDURE命令创建存储过程,命令的一般格式如下: CREATE [OR REPLACE] PROCEDURE [方案名.]存储过程名 [(参数名1 IN|OUT|IN OUT 参数类型) [,参数名2 IN|OUT|IN OUT 参数类型] ……)] IS|AS 存储过程体; ⒉ 命令行方式 【例8.1】首先创建一班级人数统计表(class_count),表中包含班级编号(class_nochar(4))和人数(cou number(2))两个字段,其中班级编号是主键;创建存储过程pro_classcount,要求实现不同班级编号学生人数的统计功能,且将各个班级的人数存储在班级人数统计表中。 (1)创建班级人数统计表 CREATE TABLE class_count ( class_no char(4) PRIMARY KEY, cou number(2) ); ⒉ 命令行方式 (2)创建按班级统计并存储学生人数的存储过程 CREATE PROCEDURE pro_classcount ( cno CHAR) --定义参数cno,为缺省类型传入型参数 as nn NUMBER(5); begin SELECT COUNT(*) INTO nn FROM student WHERE class_no=cno; --统计班级人数 UPDATE class_count SET cou=nn WHERE class_no=cno; DBMS_OUTPUT.PUT_LINE(nn); END; 8.1 存储过程 8.1.2 调用存储过程 创建了存储过程后,就可以调用它了。方法是可以在SQL Plus、SQL PlusWorksheet环境中,或者在与Oracle数据库连接的前台数据库应用程序中通过引用存储过程名来调用它。调用格式如下: 过程名(参数名1,参数名2,……); 注意:在调用存储过程时,如果有参数,要求形参与实参的类型、个数必须一致。 8.1.2 调用存储过程 【例8.2】在SQL PlusWorksheet环境中编写PL/SQL程序调用存储过程pro_classcount。 DECLARE cc CHAR(4); BEGIN cc:=0101; pro_class
您可能关注的文档
- 数据库技术基础教学课件作者王珊chp9课件.ppt
- 数据库技术基础教学课件作者王珊chp10课件.ppt
- 数据库技术基础教学课件作者王珊chp11课件.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第1章课件.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第2章课件.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第3章课件.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第4章课件.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第5章课件.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第6章课件.ppt
- 数据库实用技术教程教学课件作者基于Oracle系统电子教案第7章课件.ppt
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 英语分级阅读:国家地理《Reading Explorer》A1-A2入门级 REF_unit 1A.pdf VIP
- 社区社会工作教学课件 周沛 易艳阳-第1章 社区概述.pptx VIP
- 急性胰腺炎急诊诊治专家共识(2024).pptx VIP
- 2025年AWS认证SavingsPlans在游戏行业中的应用案例专题试卷及解析.pdf VIP
- FDS火灾模拟软件使用教程.pptx VIP
- 2022版《小学数学新课程标准》的解读与梳理PPT课件.pptx VIP
- 制作一:布绒玩具制作.ppt VIP
- 胃潴留的护理.ppt
- 2026广东省佛山市南海公证处公开招聘公证员助理2人笔试参考题库及答案解析.docx VIP
- 解剖关节学课件.ppt VIP
原创力文档

文档评论(0)