


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大型数据库实验报告学院:信息技术学院班级:软件1班专业:计算机&软件工程&数媒姓名:刘国栋日期:2013-06-24 20:04:18学号:10010300791. 实验目的l 掌握触发器的原理l 掌握触发器的编写方法l 测试触发器是否生效2. 实验内容(注意,实验代码和过程中产生的数据要上交,请同学们用spool命令记录下代码和过程)1. 创建语句级触发器,名称为triDML+姓名简拼+学号后两位;功能为:对scott用户的emp表进行dml操作的用户进行安全检查,如果不是scott用户,则不能够做增、删、改的操作。(提示用if user not in (SCOTT) then来判断是否为scott用户)。create trigger triDMLlgd79before insert or update or delete on scott.empbeginif user not in (scott) then raise_application_error(-20001,你现在不是在scott用户下,不能对emp表做增、删、改);end if;end;2. 创建行级触发器,名称为triROW+姓名简拼+学号后两位;功能为:当对scott用户的emp表插入数据时,如果deptno30时,将comm值设置为0。create trigger triROWlgd79before insert on empfor each rowbeginif new.deptno30 then :m:=0;end;3. 创建替代触发器,名称为triInsteadOf+姓名简拼+学号后两位。功能为:可以往视图里插入数据。提示:创建一个视图view_emp_dept,数据来源于emp表的字段empno,ename,job,emp.deptno,条件是emp.deptno = dept.deptno。创建替代触发器,使得可以对视图view_emp_dept进行插入数据的操作。 create or replace view view_emp_dept as select empno,ename,job,emp.deptno from emp,dept where emp.deptno = dept.deptno;create or replace trigger triInsteadOflgd79 instead of insert on view_emp_dept for each rowdeclarebegininsert into emp (empno,ename,job,deptno) values (:New.empno,:New.ename,:New.job,:New.deptno);end;4.创建DDL触发器,名称为triDDL+姓名简拼+学号后两位。功能为:记录当前用户删除对象的信息。提示:可以创建一个表来实现记录功能create table ddl_drop(User_id varchar2(30),Object_type varchar2(20),Object_name varchar2(30),Object_owner varchar2(30),Create_date date); 。create or replace trigger triDDLlgd79after drop on scott.schemabegininsert into ddl_drop values(ora_login_user,ora_dict_obj_type,ora_dict_obj_name, ora_dict_obj_owner,SYSDATE);end;5. 创建数据库级触发器,名称为triDB+姓名简拼+学号后两位。功能为:记录数据库发生错误的信息。提示:可以通过创建下面的表来实现记录数据库发生错误的信息。 Create table error_log( Timestamp date, Username varchar2(20), Instance number, Database_name varchar2(50), Error_stack varchar2(2000);Sys.login_user返回当前登录的用户名称Sys.instance_num返回实例数Sys.database_name返回数据库名称DBMS_UTILITY.FORMAT_ERROR_STACK返回Error stack。 create or replace trigger triDBlgd79after create on databasebegininsert into ddl_drop values(SYSDATE , Sys.login_user, Sys.instance_num, Sys.database_name, DBMS_UTILIT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒体设计师节假日后复工安全考核试卷含答案
- 单元学习任务教学设计高中语文统编版 必修下册-统编版
- 普通话培训期末总结及改进建议
- 4.16 三国鼎立 说课稿 部编版七年级历史上学期
- 中学教师招聘物理试卷
- 2024年五年级英语上册 Unit 12 The Spring Festival说课稿 湘少版
- 八年级英语单元教学计划及教案
- 企业办公自动化系统使用规范
- 立定跳远 教学设计-山西省吕梁市文水县城镇第五初级中学九年级体育
- 达州市公共交通有限公司2025年第二批公交驾驶员招聘(22人)笔试参考题库附带答案详解
- 2025秋大象版(2024)小学科学三年级上册《测量风向》教学设计
- 建筑装修工程质量监督管理制度
- 不锈钢栏杆施工全流程方案
- 国企人力资源岗笔试模拟试题及参考答案
- 遵守规则课件-2025-2026学年统编版道德与法治八年级上册
- 全科医学(副高)高级职称考试题库及答案
- 2025年社区工作者招聘考试(公共基础知识)试题及答案
- 河北省琢名小渔名校联考2025-2026学年高三上学期开学调研检测英语试题(含答案)
- 血透室护士手卫生
- 白带常规课件
- 房地产精装修工程质量管控措施
评论
0/150
提交评论