oracle中的过程

时间:2016-03-24 05:01:47

标签: oracle

我有一个问题。 我有这个oracle代码

***
create or replace procedure MoveNews(idN in number)
is
v1 number := idN;
begin
  insert into History (IDNEWS, IDSUBNEWS, TITL, TXT, RANKING) 
          (select NEWS.IDNEWS, NEWS.IDSUBT, NEWS.TIT, NEWS.TEXT, NEWS.COUNTT 
           from NEWS 
           where IDNEWS = v1);

  delete from NEWS where IDNEWS = v1;
end;
***

但是当我运行时会发生以下情况:

  

ORA-04098:触发' PROYECTO.HISTORICO_TRG'无效且重新验证失败   ORA-06512:at" PROYECTO.MOVERNOTICIA",第5行   ORA-06512:第1行   04098. 00000 - "触发'%s。%s'无效且重新验证失败"   *原因:尝试检索触发器以执行并且是              发现无效。这也意味着编译/授权              触发器失败了。   *行动:选项是解决编译/授权错误,              禁用触发器,或者放下触发器。

我需要在过程中输入一个ID,然后将数据复制到另一个表中,并立即将其删除到旧表中。 感谢您的帮助

0 个答案:

没有答案