- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一课: 程序包
关于本节的分析
内容:
教学重点与难点
教学重点:
教学难点:
3、教学目标
知识目标:
能力目标:
情感目标:
二、教学方法
本课采用边讲边练习的方式教学,让学生亲自动手,逐步熟悉各种语句的使用。
教学过程
A.包说明及主体
格式:Create [ Or Replace] Package 包名 IS|AS
变量声明|类型定义|异常声明|游标声明|函数说明|过程说明
Pragma restrict references(函数名,WNDS[,WNPS][,RNDS][,RNDS])
End[包名];
B.格式:Create [Or Replace] Package Body 包名 IS|AS /*包体名一定要已经定义的包名同*/
变量声明|类型定义|异常声明|游标声明|函数定义|过程定义
End[包体名];
C.包调用
包名.类型名;
包名.函数名[参数表];
包名..过程名[参数表];
显示绑定到引用游标变量上的值——包调用
set AutoPrint on
1.variable tempCur RefCursor;
2.exec StudentPackage.ReturnStudent(:tempCur); --:表示SQLPLUS中的环境变量
D.数据字典
user_objects、user_source
E.包的修改和删除
drop package [Body] 包名;
drop package body studentPackage;
F.包中的方法可以重载,只依赖于参数不同,与JAVA一样。
建立包体的注意事项:
1.包体只能在包说明被编译后才进行编译
2.在包说明中的过程、函数名称必须严格地与包体中实现部分的过程、函数名称相匹配。
3.在包体的执行部分可以对包说明中声明的变量进行初始化,因为包不能传递参数,所以只能通过这种方法进行初始化。包的初始化只在第一次调用包的时候运行一次。
4.在包体中声明的数据类型、变量、常量都是私有的,只能在包体中使用。但在包体中可以使用在包说明中声明的数据类型、变量、常量。
----------------------------------------------------------------------------------------------------------------------------------------------
create user matrix
identified by matrix
-- Grant/Revoke role privileges
grant connect to matrix;
grant aq_administrator_role to MATRIX with admin option;
grant resource to MATRIX with admin option;
Create table student
(
StuId varchar(10) not null primary key,
StuName varchar(10) not null,
Sex char(2)
)
go
insert into student values(101, 关羽, 男);
insert into student values(102, 张飞, 男);
insert into student values(103, 赵云, 男);
insert into student values(104, 刘备, 男);
Create table subject
(
subId varchar(10) primary key,
subName varchar(30) not null
)
go
insert into subject values(s001, ORACLE);
insert into subject values(s002, JAVA);
insert into subject values(s003, .net);
Create or replace package StudentPackage --包说明创建
is
Type curRefStudent is Ref Cursor Return Student%RowType;
procedure SelectStudent(FindID in Student.Stuid%type);
procedure InsertStudent(NewStudent in student%RowType);
procedu
文档评论(0)