业务要求: 删除一条数据时,要对这条数据备份,同时也要删除这条数据关联的子数据怎么写.create or replace trigger del_Qx_taskid2
before delete or instrt on t_qx_qxxx02
for each row
begin
insert into scgl.t_qx_qxxx_bak1102 select *from t_qx_qxxx1102 where proessid=:old.proessid;
delete from wf_amber.indywf_worklist_his where item_key=:old.processid;
delete from wf_amber.indywf_worklist_cur where item_key=:old.processid;
end;--
before delete or instrt on t_qx_qxxx02
for each row
begin
insert into scgl.t_qx_qxxx_bak1102 select *from t_qx_qxxx1102 where proessid=:old.proessid;
delete from wf_amber.indywf_worklist_his where item_key=:old.processid;
delete from wf_amber.indywf_worklist_cur where item_key=:old.processid;
end;--
解决方案 »
- 关于Oracle数据库修改系统临时表空间遇到的疑问
- 帮忙看一下alert.log
- 用oracle10g安装完以后,在用DBCA创建数据库时提示ORA-01092:ORACLE instance terminated.大家帮忙看看是什么原因!!!
- 请教Oracle 9i的安装问题
- 关于v$instance何dbms问题.
- 特急的问题:在.net中关于Oracle数据库的连接,特急,谢先!
- ???菜鸟刚学oracle,以前用sqlserver的时候给一个字段设成datetime类型,再给他的默认值写成getdate(),就可以自动记录这条记录入库的
- STARTUP启动时出现ORA-01081错误
- 初学oracle,创建数据库时出现ora-00988:缺少或无效口令错误!请指点,立刻给分!!!
- 有点难度的sql
- oracle的SQL语句求助
- windows下 安装后的 Oracle SQL Developer 不能用,出现一个对话框提示:Enter the full pathname for jav
CREATE OR REPLACE TRIGGER DEL_QX_TASKID2
BEFORE DELETE OR INSTRT ON T_QX_QXXX02
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION; --这个要有
BEGIN
IF INSERTING THEN
INSERT INTO SCGL.T_QX_QXXX_BAK1102(字段1,字段2,......)
VALUES(:NEW.字段1,:NEW.字段2,.....); ELSIF DELETING THEN
INSERT INTO SCGL.T_QX_QXXX_BAK1102
SELECT * FROM T_QX_QXXX1102 WHERE PROESSID = :OLD.PROESSID;
DELETE FROM WF_AMBER.INDYWF_WORKLIST_HIS WHERE ITEM_KEY = :OLD.PROCESSID;
DELETE FROM WF_AMBER.INDYWF_WORKLIST_CUR WHERE ITEM_KEY = :OLD.PROCESSID;
END IF;
COMMIT;EXCEPTION
WHEN OTHERS THEN
NULL; --自己写异常处理
END;
都删除了好几分钟,就把它中断了. 中断后跳到 END;