当新值与旧值不同时,将变化值记录下来,我是这样写的触发器CREATE OR REPLACE TRIGGER FZJC_HUM_CHANGE_STATION
BEFORE UPDATE OF STATION ON FZJC_HUM_INFO
FOR EACH ROW
BEGIN
if :NEW.STATION=:OLD.STATION then
else
INSERT INTO FZJC_HUM_CHANGE
VALUES ( :NEW.WORK_IDNO, '岗位',:NEW.STATION,:OLD.STATION, TO_CHAR(SYSDATE,'YYYY.MM.DD HH24:MI:SS') );
end if
END FZJC_HUM_CHANGE_STATION;
然后执行如下语句改变源表
update fzjc_hum_info set station='党委书记_' where work_name='张三'
但是oracle报出如下错误
ORA-04098:触发器'FZJC.FZJC_HUM_CHANGE_STATION'无效且未通过重新确认
请教大家,这是那块写的有问题呢?
BEFORE UPDATE OF STATION ON FZJC_HUM_INFO
FOR EACH ROW
BEGIN
if :NEW.STATION=:OLD.STATION then
else
INSERT INTO FZJC_HUM_CHANGE
VALUES ( :NEW.WORK_IDNO, '岗位',:NEW.STATION,:OLD.STATION, TO_CHAR(SYSDATE,'YYYY.MM.DD HH24:MI:SS') );
end if
END FZJC_HUM_CHANGE_STATION;
然后执行如下语句改变源表
update fzjc_hum_info set station='党委书记_' where work_name='张三'
但是oracle报出如下错误
ORA-04098:触发器'FZJC.FZJC_HUM_CHANGE_STATION'无效且未通过重新确认
请教大家,这是那块写的有问题呢?
解决方案 »
- 对四个日期字段我想同时查处一年内在这四个出现的个数,和其和值
- 为什么编译的时候说标示符出错,在第三行代码,求大神。
- 有谁知道如何让我的TOAD找到oci.dll
- 面试的问题
- 2个表联合的视图
- 非常奇怪的问题,进来的有分,急,急,急!!!
- 创建的函数状态是invalid,怎么使其变为valid的状态
- 请问在Solaris8下安装Oracle9i后,如何将数据库的启动和关闭加入到系统的启动和关闭脚本中去
- 怎样将Date类型的默认格式改成yyyy-mm-dd
- Oracle菜鸟初级问题---帮个忙,解释一下,给20分.
- 如何编写这条查询语句
- 有办法检索一个varchar2型字段存的数据不能转换成yyyy-mm-dd hh23:mi:ss这样的date型吗?
if
else
end if;
要有分号的。
insert into 不管是不是全部字段,最好把字段列表写上,否则表结构变化了呢? 养成好习惯吧!