CREATE OR REPLACE TRIGGER F_Init_MainTime
AFTER INSERT ON FacilityName
FOR EACH ROW
BEGIN
insert into tb_else values(:new.id,:new.name...);
END F_Init_MainTime;
/
AFTER INSERT ON FacilityName
FOR EACH ROW
BEGIN
insert into tb_else values(:new.id,:new.name...);
END F_Init_MainTime;
/
BEFORE UPDATE ON MaintainType
FOR EACH ROWDECLARE
BEGIN
/* 限制用户对主键的修改 */ IF rtrim(ltrim(:new.MaintainID)) <> rtrim(ltrim(:old.MaintainID)) THEN
raise_application_error(-20076,'设备检修类型表的主键不能修改!');
END IF;
END Trg_BeforeMaintainType; 但是我修改主键的时候,却出现了如下的错误:---------------------------
Error
---------------------------
ORA-20076: 设备检修类型表的主键不能修改!
ORA-06512: 在"INSCES4.TRG_BEFOREMAINTAINTYPE", line 8
ORA-04088: 触发器 'INSCES4.TRG_BEFOREMAINTAINTYPE' 执行过程中出错View program sources of error stack?
---------------------------
是(Y) 否(N)
---------------------------不知道错在那里了,希望你能在指点指点我!!谢谢
IF rtrim(ltrim(:new.MaintainID)) < > rtrim(ltrim(:old.MaintainID)) THEN
raise_application_error(-20076,'设备检修类型表的主键不能修改!');
END IF; 就是当修改主键的时候raise 这个错误ora-20076
ORA-06512: 在"INSCES4.TRG_BEFOREMAINTAINTYPE", line 8
ORA-04088: 触发器 'INSCES4.TRG_BEFOREMAINTAINTYPE' 执行过程中出错
不是我期望的,这搞得我莫名奇妙的。
AFTER INSERT ON FacilityName
FOR EACH ROW
BEGIN
insert into tb_else values(:new.id,:new.name...);
END F_Init_MainTime;