我刚接触ORCALE...写了一个比较简单的删除触发器..却报这样的错误..
ora-04098:触发器'GISCAR.X_WRITE_CARINFO_LOG' 无效且未通过重新确认
我写的删除触发器如下:
create or replace trigger x_write_carinfo_log
after delete
on X_CAR_CARINFO
FOR EACH ROW
BEGIN
--If inserting then
--Else if update then
--Else
--End if;
Insert into CAR_INFOUPDATZE(COMPANY_ID,TRACE_TYPE,UPADTE_ID) values (:old.company_id,'0',:old.car_id);
END哪位高人能指教一下呀...
ora-04098:触发器'GISCAR.X_WRITE_CARINFO_LOG' 无效且未通过重新确认
我写的删除触发器如下:
create or replace trigger x_write_carinfo_log
after delete
on X_CAR_CARINFO
FOR EACH ROW
BEGIN
--If inserting then
--Else if update then
--Else
--End if;
Insert into CAR_INFOUPDATZE(COMPANY_ID,TRACE_TYPE,UPADTE_ID) values (:old.company_id,'0',:old.car_id);
END哪位高人能指教一下呀...
after delete
加一个is??
不行....我知道哪里有问题了..就是CAR_INFOUPDATZE第一个字段TRACE_ID是自增...要用序列..可是我才刚学用ORCALE..不知道怎么写....能教一下吗??
就是怎么创建一个SEQUENCE
after delete or update or insert of car_group,device_id,driver_id,device_logo
on X_CAR_CARINFO referencing old as old_X_CAR_CARINFO new as new_X_CAR_CARINFO
FOR EACH ROW declare
i number;
BEGIN
dbms_output.put_line('正在执行X_WRITE_CARINFO_LOG触发器…………');
if UPDATING OR DELETING then
select car_infordate_sequence.nextval into i from dual;
insert into car_infoupdate values (i,:old_X_CAR_CARINFO.company_id,'0',:old_X_CAR_CARINFO.device_id);
elsif INSERTING then
select car_infordate_sequence.nextval into i from dual;
insert into car_infoupdate values (i,:new_X_CAR_CARINFO.company_id,'0',:new_X_CAR_CARINFO.device_id);
end if;
END X_WRITE_CARINFO_LOG;我是这样写的