create table emp_log
(
uname varchar2(20),
action varchar2(10),
atime date
);create or replace trigger trig
after insert or delete or update on emp for each row
begin
if inserting then
insert into emp_log values (USER,'insert',sysdate);
elsif updating then
insert into emp_log values (USER,'update',sysdate);
elsif deleting then
insert into emp_log values (USER,'delete',to_char(sysdate, 'YYYY_MM_DD HH24:MI:SS'));
end if;
end;运行显示有错误, delete的时候我想显式时间:时,分,秒的
不知道怎么处理时间。
(
uname varchar2(20),
action varchar2(10),
atime date
);create or replace trigger trig
after insert or delete or update on emp for each row
begin
if inserting then
insert into emp_log values (USER,'insert',sysdate);
elsif updating then
insert into emp_log values (USER,'update',sysdate);
elsif deleting then
insert into emp_log values (USER,'delete',to_char(sysdate, 'YYYY_MM_DD HH24:MI:SS'));
end if;
end;运行显示有错误, delete的时候我想显式时间:时,分,秒的
不知道怎么处理时间。
插入的时候就用sysdate
delete from emp where deptno = 10
*
第 1 行出现错误:
ORA-01861: 文字与格式字符串不匹配
ORA-06512: 在 "SCOTT.TRIG", line 7
ORA-04088: 触发器 'SCOTT.TRIG' 执行过程中出错
DATE类型的本身就是到毫秒的
只要输出显示时控制下显示格式就行了
楼主这些基础知识有待加强