请解释一下这个颇让oracle触发器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请解释一下这个颇让oracle触发器相关的知识,希望对你有一定的参考价值。
create or replace trigger CUX_CREATE_DOC_SEQ
before update of STATUS on GL.GL_JE_HEADERS
for each row
when (old.status <>'P'
and new.CURRENCY_CODE <>'STAT' AND NEW.ACTUAL_FLAG = 'A'
)
declare
VPREFLEX varchar2(20);
VSEQ number;
Orgid number;
Sobid number;
begin
SELECT GJB.ORG_ID
INTO ORGID
FROM GL_JE_BATCHES GJB
WHERE GJB.JE_BATCH_ID = :NEW.JE_BATCH_ID;
Sobid := :NEW.SET_OF_BOOKS_ID;
------------------------------------------------------------------
关键是::NEW 和 :old
谢了
IF :new.STATUS = 'P' THEN
select next_je_sequence
into VSEQ
from cux_gl_je_sequence
where SET_OF_BOOKS_ID = :NEW.SET_OF_BOOKS_ID and ORG_ID = Orgid and
PERIOD_NAME = :NEW.PERIOD_NAME
/*for update of next_je_sequence*/;
:new.doc_sequence_value := VSEQ;
update cux_gl_je_sequence
set next_je_sequence = next_je_sequence + 1
where SET_OF_BOOKS_ID = :NEW.SET_OF_BOOKS_ID and ORG_ID = Orgid and
PERIOD_NAME = :NEW.PERIOD_NAME;
END IF;
exception
when no_data_found then
insert into cux_gl_je_sequence
(set_of_books_id, org_id, period_name, next_je_sequence)
values
(:NEW.SET_OF_BOOKS_ID, orgid, :new.period_name, 2);
:new.doc_sequence_value := 1;
end;
这个清楚后,这个也就好理解了。 参考技术A vfvds bnvbmc
oracle用imp导入用户数据时,提示表或视图不存在
其他数据都能正常导入
但是有一个触发器导入的时候提示表或视图不存在
其他触发器都正常
表空间没问题
dmp里面有N个触发器 只有一个导不进去,有一个完全一样的触发器作用于另外一个表可以导入,应该与触发器没关系。至于重新编译..导都没导进来怎么重新编译...手工copy一下还可以...
以上是关于请解释一下这个颇让oracle触发器的主要内容,如果未能解决你的问题,请参考以下文章
oracle 类似dataguard,OGG等数据迁移后问题