- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四过程函数触发器与程序包
实验四 过程、函数、触发器和程序包
实验目的:
(1)了解存储过程的作用;
(2)了解函数的作用;
(3) 掌握存储过程的创建;
(4)掌握存储过程的调用;
(5)掌握函数的建立;
(6)掌握函数的调用。
(7) 掌握触发器的基本作用及使用方法。
(8) 掌握触发器的建立、修改、查看、删除操作。
实验内容:
一、过程、歪数
(1)无参数的存储过程
创建一个存储过程 proc_execution,要求能够将empno为‘9010’的员工姓名更改为yourname,并调用执行这个存储过程。
(2)带输入参数的存储过程
创建一个存储过程,参数为员工编号,该存储过程能够删除指定的员工信息。请编写并调用该存储过程。
(3)带输入输出的存储过程
创建一个存储过程,要求能够查询并返回EMP中给定职工号的姓名、工资和佣金。请编写并调用该存储过程。
(4)带输入参数的函数:
创建一个函数get_sal,要求能够查询并返回EMP中给定职工号的工资,请编写该函数并正确调用。
(5)用异常处理完善程序
请将第任务1中的程序完善,如果输入的员工号不存在,则执行异常处理,显示“此员工不存在”。
(6)创建函数,实现功能为:在scott.emp表和scott.dept表中查询出任意给定职工号的职工姓名及职工所在部门的名称。
(7)对存储过程、函数及触发器实现查看、修改、删除等基本操作。
二、触发器
1. 以SCOTT帐号登录,完成以下操作:
(1)利用以下SQL语句,创建emp_copy表和emp_bak表
(2)在emp表中创建一个触发器tg_insert_emp,当向emp表中添加一条记录时,自动向emp_copy表也自动添加一条记录。当向emp表中更新一条记录时,自动更新emp_copy表中相关记录。
(3)当删除emp表中一条记录时,自动删除emp_copy表中相关记录,并且将删除的记录自动添加到emp_bak表。
2.请编写相关触发器,完成下列操作:
利用下面的命令创建一个表OP_LOG
CREATE OR REPLACE TABLE op_log
(ID VARCHAR2(20) PRIMARY KEY, op_dae date,
op_type varchar2(200),
op_user varhcar2(50));
(1)编写一个触发器,当系统关闭时,记录系统关闭的时间及操作用户。
(2)编写一个触发器,当系统启动时,记录系统启动的时间及操作用户。
(3)编写一个触发器,当用户登录时,记录用户登录的时间,及用户名称。
实验步骤与调试过程:
1.1创建一个存储过程 proc_execution,将empno为‘9010’的员工姓名更改为yourname,并调用执行这个存储过程。
1.2创建一个存储过程,参数为员工编号,存储过程能够删除指定的员工信息
1.3创建一个存储过程,查询并返回EMP中给定职工号的姓名、工资和佣金
1.4创建一个函数get_sal,查询并返回EMP中给定职工号的工资
1.5创建一个存储过程proc_execution,将empno为‘9010’的员工姓名更改为yourname,使用if语句判断,如果输入的员工号不存在,则执行异常处理,显示“此员工不存在”。
1.6创建函数,在scott.emp表和scott.dept表中查询出任意给定职工号的职工姓名及职工所在部门的名称。
1.7在存储过程、函数及触发器实现查看、修改、删除等基本操作。
1.利用SQL语句,创建emp_copy表和emp_bak表
2.在emp表中创建一个触发器tg_insert_emp,当向emp表中添加一条记录时,自动向emp_copy表也自动添加一条记录。当向emp表中更新一条记录时,自动更新emp_copy表中相关记录。
3.当删除emp表中一条记录时,自动删除emp_copy表中相关记录,并且将删除的记录自动添加到emp_bak表。
4.编写一个触发器,当系统关闭时,记录系统关闭的时间及操作用户,当系统启动时,记录系统启动的时间及操作用户,以及当用户登录时,记录用户登录的时间,及用户名称。
实验结果:
通过创建一个存储过程,了解在存储过程中函数的作用,对数据表的数据进行修改、删除操作,并对存储过程进行调用,了解触发器的基本作用及使用方法,进行触发器的建立、修改、查看、删除操作。
疑难小结:
存储过程中函数的使用
职工信息的修改删除操作
触发器的记录事件
创建触发器的登录和退出触发器
主要算法和程序清单:
(1)无参数的存储过程
创建一个存储过程 proc_execution,要求能够将empno为‘9010’的员工姓名更改为yourname,并调用执行这个存储过程。
Create Procedure proc_
文档评论(0)