/*
在使用CREATE TRIGGER语句创建触发器的时候,Oracle会对触发器进行编译。
如果编译过程中发现了错误,可以使用DBA_ERRORS(或者USER_ERRORS)视图查看错误的具体信息
虽然编译失败,但是仍旧成功的创建了触发器对象
可以使用ALTER TRIGGER COMPILE命令来对触发器进行编译。
*/
--创建一个表
DROP TABLE TESTLOG;
CREATE TABLE TESTLOG(
USERNAME VARCHAR2(100),
EVENTTIME DATE,
ACTION VARCHAR2(20)
);
--创建一个TRIGGER 记录登录的事件(该TRIGGER是错误的,少了一个;)
CREATE OR REPLACE TRIGGER MYLOGONTRIGGER
AFTER LOGON ON SCHEMA
BEGIN
INSERT INTO TESTLOG
VALUES(
USER,
SYSDATE,
'LOGON'
)
END;
/
--警告: 创建的触发器带有编译错误。
SQL> select text from dba_errors where type=upper('trigger');
TEXT
--------------------------------------------------------------------------------
"