ITPub博客

首页 > 数据库 > Oracle > 触发器trigger

触发器trigger

原创 Oracle 作者:不一样的天空w 时间:2017-11-29 17:32:08 0 删除 编辑
实验如下:

--查询触发器要定义的hr用户下的表DEPARTMENTS                   
SQL> conn hr/hr;

Connected.
SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
COUNTRIES                      TABLE
DEPARTMENTS                    TABLE
EMPLOYEES                      TABLE
EMP_DETAILS_VIEW               VIEW
JOBS                           TABLE
JOB_HISTORY                    TABLE
LOCATIONS                      TABLE
REGIONS                        TABLE

8 rows selected.

--创建触发器:
SQL> CREATE OR REPLACE TRIGGER tr_dept_time
  2  BEFORE INSERT OR DELETE OR UPDATE
  3  ON departments
  4  BEGIN
  5   IF (TO_CHAR(sysdate,'DAY') IN ('星期六', '星期日')) OR (TO_CHAR(sysdate, 'HH24:MI') NOT BETWEEN '08:30' AND '18:00') THEN
  6       RAISE_APPLICATION_ERROR(-20001, '不是上班时间,不能修改departments表');
  7   END IF;
  8  END;
  9  /

Trigger created.



--查询触发器信息:






--触发器视图定义:




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31397003/viewspace-2147973/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-09-22

  • 博文量
    916
  • 访问量
    1400406