oracle中的trigger
发布时间:2021-01-24 18:07:08 所属栏目:百科 来源:网络整理
导读:副标题#e# https://blog.csdn.net/indexman/article/details/8023740/ https://www.cnblogs.com/sharpest/p/7764660.html https://www.cnblogs.com/yaobolove/p/4781971.html ?触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--创建表
CREATE
?
TABLE
?
log_info(
??
manager_user VARCHAR2(15),
??
manager_date VARCHAR2(15),
??
manager_type VARCHAR2(15),
??
obj_name?? VARCHAR2(15),
??
obj_type?? VARCHAR2(15)
);
--创建触发器
set
?
serveroutput
on
;
CREATE
?
OR
?
REPLACE
?
TRIGGER
?
TRIG_LOG_INFO
?
AFTER
?
CREATE
?
OR
?
DROP
?
ON
?
SCHEMA
BEGIN
?
INSERT
?
INTO
?
LOG_INFO
?
VALUES
??
(
USER
,
???
SYSDATE,
???
SYS.DICTIONARY_OBJ_NAME,
???
SYS.DICTIONARY_OBJ_OWNER,
???
SYS.DICTIONARY_OBJ_TYPE);
END
;
/
--测试语句
CREATE
?
TABLE
?
a(id NUMBER);
CREATE
?
TYPE aa
AS
?
OBJECT(id NUMBER);
DROP
?
TABLE
?
a;
DROP
?
TYPE aa;
--查看效果
SELECT
?
*
FROM
?
log_info;
--相关数据字典-----------------------------------------------------
SELECT
?
*
FROM
?
USER_TRIGGERS;
--必须以DBA身份登陆才能使用此数据字典
SELECT
?
*
FROM
?
ALL_TRIGGERS;
SELECT
?
*
FROM
?
DBA_TRIGGERS;
--启用和禁用
ALTER
?
TRIGGER
?
trigger_name DISABLE;
ALTER
?
TRIGGER
?
trigger_name ENABLE;
(编辑:源码网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
7)、创建触发器,将操作CREATE、DROP存储在log_info表 |
站长推荐
热点阅读