首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

ora-24344 success with compilation error

2014-01-28 
想实现如下的功能:(oracle 10g XE 运行在ubuntu系统中) 当从ZWXW表中删除一条数据后,自动插入ZWXW_BACKUP表

想实现如下的功能:(oracle 10g XE 运行在ubuntu系统中)
当从ZWXW表中删除一条数据后,自动插入ZWXW_BACKUP表中
触发器定义如下:
create or replace trigger trig_zwxw_delete
before delete on zwxw
begin
insert into zwxw_backup select * from zwxw
end;

创建时提示:ora-24344 success with compilation error

当删除数据时,提示:ORA-04098: trigger 'TRIG_ZWXW_DELETE ' is invalid and failed re-validation
(使用WEB方式以界面方式操作也是出错)信息如下:
PLS-00103: Encountered the symbol "end-of-file " when expecting one of the following: begin case declare end exception exit for goto if loop mod null pragma raise return select update while with

------解决方法--------------------------------------------------------
create or replace trigger trig_zwxw_delete
before delete on zwxw
begin
insert into zwxw_backup(字段1,字段2...) vaules(:old.字段1,:old.字段2...);
end;

------解决方法--------------------------------------------------------
你没有权限编辑,重新设置权限试一下。
------解决方法--------------------------------------------------------
试试在insert into zwxw_backup select * from zwxw 后加个 "; "
create or replace trigger trig_zwxw_delete
before delete on zwxw
begin
insert into zwxw_backup select * from zwxw;
end;
------解决方法--------------------------------------------------------
create or replace trigger trig_zwxw_delete
before delete on zwxw
begin
insert into zwxw_backup select * from zwxw;最后少了;号。这和sql server 不一样的
end;
------解决方法--------------------------------------------------------
建议你不要偷懒了,把字段写全
insert into zwxw_backup select * from zwxw
改为:
insert into zwxw_backup(字段...) select 字段... from zwxw
------解决方法--------------------------------------------------------