针对orcale的某个表建立一个触发器,
CREATE OR REPLACE TRIGGER x_t
after insert on x
begin
y_pro;
end;但是,往表x中插入数据的时候可能一条或多条,我只想全部插入提交之后在触发触发器,或者在存储过程y_pro能够判断x的数据是否已经提交,已经提交则执行,否则不执行,如何实现呢?请高手指点。
CREATE OR REPLACE TRIGGER x_t
after insert on x
begin
y_pro;
end;但是,往表x中插入数据的时候可能一条或多条,我只想全部插入提交之后在触发触发器,或者在存储过程y_pro能够判断x的数据是否已经提交,已经提交则执行,否则不执行,如何实现呢?请高手指点。
insert into x(a,b)
values('a1', 'b1');insert into x(a,b)
values('a2', 'b2');commit;在commit后触发触发器x_t , 或者在存储过程 y_pro中判断到commit之后才执行。
insert into x(a,b)
values('a1', 'b1');insert into x(a,b)
values('a2', 'b2');commit;
每个insert语句都触发触发器x_t,总共触发两次
SQL Server可以实现,但是Oracle 只能实现记录级触发更新。
如何实现呢?能教教我吗?
就上面的例子,你觉得怎么样设标志位,谢谢指点!
insert into x(a,b)
values('a1', 'b1');insert into x(a,b)
values('a2', 'b2');commit;
insert into x(a,b)
values('a1', 'b1');
时触发job执行,在job里判断数据是否已经提交,因为,job在开始执行的时候x1的数据和x1提交后的数据是不一样的,但是你必须使用行级触发器,表级触发器不能实现你的目的。