不限制of kscj就行了 creat or replace tigger No_update_result before UPDATE on RESULT --of kscj for each row BEGIN insert into czjl (nr,time)values('尝试更新成绩信息' || :OLD.id,sysdate); RAISE_APPLICATION_ERROR(-20001,'不能更新'); end No_update_result;
表里面的其他信息是允许修改的啊,就是唯独那一列不允许修改。有没有其他办法 限制一下,加条件,if :old.XX = :new.XX .....and :old.kscj <> :new.kscj then 这样呢,其实我也刚学触发器 只是发表自己的看法,希望对你有帮助,我把触发器修改了一下,编译是通过了,但是执行不起来:意思是先删除,再次写入,但是执行SQLupdate的时候报错 create or update trigger Noupdate_result after update on result for each row begin insert into czjl(jb,nr,time,userid)values('2','尝试更新成绩信息'+:new.sfzmhm,sysdate,'后台'); delete from result where sfzmhm=:old.sfzmhm; insert into result(sfzmhm,kscj,ksrq......) values (:old.sfzmhm,:old.kscj,:old.ksrq......); end;
creat or replace
tigger No_update_result
before UPDATE on RESULT --of kscj
for each row
BEGIN
insert into czjl (nr,time)values('尝试更新成绩信息' || :OLD.id,sysdate);
RAISE_APPLICATION_ERROR(-20001,'不能更新');
end No_update_result;
表里面的其他信息是允许修改的啊,就是唯独那一列不允许修改。有没有其他办法
限制一下,加条件,if :old.XX = :new.XX .....and :old.kscj <> :new.kscj then 这样呢,其实我也刚学触发器 只是发表自己的看法,希望对你有帮助,
表里面的其他信息是允许修改的啊,就是唯独那一列不允许修改。有没有其他办法
限制一下,加条件,if :old.XX = :new.XX .....and :old.kscj <> :new.kscj then 这样呢,其实我也刚学触发器 只是发表自己的看法,希望对你有帮助,我把触发器修改了一下,编译是通过了,但是执行不起来:意思是先删除,再次写入,但是执行SQLupdate的时候报错
create or update trigger Noupdate_result
after update on result
for each row
begin
insert into czjl(jb,nr,time,userid)values('2','尝试更新成绩信息'+:new.sfzmhm,sysdate,'后台');
delete from result where sfzmhm=:old.sfzmhm;
insert into result(sfzmhm,kscj,ksrq......) values (:old.sfzmhm,:old.kscj,:old.ksrq......);
end;