> 데이터 베이스 > MySQL 튜토리얼 > Oracle 触发器更新基表不同记录所产生的问题

Oracle 触发器更新基表不同记录所产生的问题

WBOY
풀어 주다: 2016-06-07 17:34:09
원래의
876명이 탐색했습니다.

因为不想通过后台代码实现,所以想通过Oracle触发器来进行操作更新,但是因为触发器更新基表会产生死锁现象,所以参考网上用 全局

因为不想通过后台代码实现,所以想通过Oracle触发器来进行操作更新,但是因为触发器更新基表会产生死锁现象,,所以参考网上用 全局变量来解决该问题,但是在我的行级触发器中一直报错,不明原因。代码如下:

create or replace package pkg_proinfo_update

as G_process in varchar2;G_id in number;
end ;

CREATE OR REPLACE TRIGGER proparent_process_prochild
before update OF process
ON proinfo
FOR EACH ROW
when (old.proclass='总体项目')
BEGIN
 
 FXYDATA.V_ROW:=:new.process;
  FXYDATA.V_GUID:=:new.guId;

END;

create or replace trigger pkg_proproc_update
after update on proinfo
begin
UPDATE proinfo p SET p.parentstate =pkg_proinfo_update.G_process
 WHERE p.parentguid =  pkg_proinfo_update.G_id;
 end;

推荐阅读:

GoldenGate不使用数据泵完成Oracle-Oracle的双向复制

使用GoldenGate的数据泵进行Oracle-Oracle的单向复制

如何对 Oracle 数据泵(expdp/impdp) 进行 debug

Oracle 数据库导出数据泵(EXPDP)文件存放的位置

Oracle 10g 数据泵分区表的导出

linux

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿