Sql 需要立即删除触发表上的Oracle触发器插入值
我已经为表T1编写了一个触发器INSERT event,它将在另一个表(T2)中插入相同的行。但我的要求是,在T2中插入记录后,应该将其从T1中删除。请你建议……我建议你做以下事情: 1-创建要插入t2的过程:Sql 需要立即删除触发表上的Oracle触发器插入值,sql,oracle,Sql,Oracle,我已经为表T1编写了一个触发器INSERT event,它将在另一个表(T2)中插入相同的行。但我的要求是,在T2中插入记录后,应该将其从T1中删除。请你建议……我建议你做以下事情: 1-创建要插入t2的过程: CREATE OR REPLACE PROCEDURE yourname (IN values YOURTYPE) IS PRAGMA AUTONOMOUS_TRANSACTION; BEGIN INSERT INTO T2 (...) VALUES (...); CO
CREATE OR REPLACE PROCEDURE yourname (IN values YOURTYPE) IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO T2 (...) VALUES (...);
COMMIT;
END
/
2-在插入T1后的触发器内调用此函数
3-在此之后回滚触发器中的事务。
应取消第一次插入
请注意,这会影响交易的任何其他先前操作。根据将插入同一行的,并且应该从T1中删除,看起来根本不需要在T1
中插入行。还是有什么你不说的?我明白了。但是我的要求是这样的。T1可以是视图而不是表吗?+1还要注意,如果回滚主事务,T2中仍然会有一个新行。