本文整理自网络,侵删。
目录
- 触发器:
- 1、 创建一个用于记录用户操作的触发器
- 2、创建一个当删除部门时,删除该部门下的所有雇员的触发器
- 3、创建一个在account表插入记录之后,更新myevent数据表的触发器
- 4、创建一个用于记录登录 DBA 身份用户的用户名和时间的触发器
- 游标:
- 1、使用隐式游标和 for 语句检索出职务是销售员(salesman)的雇员信息并输出
- 2、员工工资上调20%,使用隐式游标输出上调工资的员工数量
- 3、用显示游标和for语句检索出部门编号是30的雇员信息并输出
- 4、声明游标检索员工信息,并使用%FOUND属性来判断
- 5、创建游标完成数据转移,将fruit表中单价大于10的记录放到fruitage表中
触发器:
1、 创建一个用于记录用户操作的触发器
创建一个dept_log数据表,并在其中定义两个字段(operate_tag varchar2(10),operate_time date),分别用来存储操作种类(插入,修改,删除)信息和操作日期。然后一个关于dept表的语句级触发器tri_dept,将用户对 dept 表的操作信息保存到dept_tag表中。
当任何时候从dept表中删除某个部门时,该触发器将从emp表中删除该部门的所有雇员。
-- 创建表 create table dept_log( operate_tag varchar2(10), operate_time date ); create table dept( dname varchar2(20), dno number ); -- 创建触发器 create or replace trigger tri_dept before insert or update or delete on dept declare v_tag varchar2(10); begin if inserting then v_tag:='插入'; elsif updating then v_tag:='修改'; elsif deleting then v_tag:='删除'; end if; insert into dept_log values(v_tag, sysdate); end tri_dept; /
2、创建一个当删除部门时,删除该部门下的所有雇员的触发器
当任何时候从dept表中删除某个部门时,该触发器将从emp表中删除该部门的所有雇员。
相关阅读 >>
oracle dbca时报:ora-12547 tnslost contact错误的解决
更多相关阅读请进入《oracle》频道 >>
数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » 快速学习Oracle触发器和游标
标签:oracle
相关推荐
评论
管理员已关闭评论功能...