oracle数据库删除触发器实例

 请求表操作表:用户信息表(person_tab)

  种类:Before delete

  功能描述:关联删除所有外键指向该表的数据行,删除与人员关连的数据行

  操作表:

  日历提示信息表(calendarNote_tab)

  公文基础信息表(documentBaseInfo_tab)

  AB角工作分工信息表(divideWork_tab)

  公文督办基础信息表(superviseBaseInfo_tab)

  人员在岗信息表(guardInfo_tab)

  周工作计划信息表(planOfWeek_tab)


/***************************************************/

create or replace

TRIGGER DelPerson

BEFORE DELETE ON person_tab

FOR EACH ROW

BEGIN

delete from calendarNote_tab where calendarNote_tab.c_userId =:old.p_userId;

delete from documentBaseInfo_tab where documentBaseInfo_tab.dbi_publishUserId =:old.p_userId;

delete from superviseBaseInfo_tab where superviseBaseInfo_tab.sbi_enterUserId =:old.p_userId;

delete from divideWork_tab where divideWork_tab.dw_enterUserId=:old.p_userId;

delete from guardInfo_tab where guardInfo_tab.gi_userId=:old.p_userId;

delete from planOfWeek_tab where planOfWeek_tab.pw_userId=:old.p_userId;

END;

  请求表操作表:组织结构信息表(department_tab)

  种类: Before delete

  功能描述:关联删除所有外键指向该表的数据行,删除与部门有关的数据行

  操作表:用户信息表(person_tab)


/***************************************************/

create or replace

TRIGGER Deldepartment

BEFORE DELETE ON DEPARTMENT_TAB

FOR EACH ROW

BEGIN

delete from person_tab where person_tab.p_departmentId =:old.dm_id;

END;

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-03 22:08:50

oracle数据库删除触发器实例的相关文章

代码-oracle数据库写触发器解决级联删除问题

问题描述 oracle数据库写触发器解决级联删除问题 请问写一个触发器,怎么在根据id删除商品时,用触发器删除这个商品对应的购物车表项,订单明细表,以及这个订单明细表对应的订单表,删除这个订单表时还要删除这个订单表中对应的其他明细表,谢谢了,最好能有点代码,求教各位了 解决方案 创建数据库时为了防止其他人不小心删除操作错误, 所有的外键都没有加级联删除.哪知,不知什么时候自己入了一批错误的数据进去,入库使用的是软件自动的,一下点错给自己带来无尽麻烦啊,删除就不好办了. 表间的关系比较复杂,数据量

oracle 触发器-求大神解答oracle数据库关于触发器集联删除的问题

问题描述 求大神解答oracle数据库关于触发器集联删除的问题 做期末项目,做到了触发器集联删除这块,我想删除course表(父表)里的数据,必须先删除teacou(子表)中的cid,cid与course里的id有外键关系.删除子表后我又不能找到父表里的id了,怎么办啊,请大神帮忙看看,谢谢啦! 解决方案 http://www.2cto.com/database/201212/178007.html

数据库设计-求大神解答oracle数据库关于触发器集联删除的问题

问题描述 求大神解答oracle数据库关于触发器集联删除的问题 做期末项目,做到了触发器集联删除这块,我想删除course表(父表)里的数据,必须先删除teacou(子表)中的cid,cid与course里的id有外键关系.删除子表后我又不能找到父表里的id了. select teaCou.cId from teaCou where teacou.tId=:old.id有时候查出来两个结果,select into语句不能用, 怎么办啊,请大神帮忙看看,谢谢啦! 解决方案 http://www.2

利用Oracle数据库发送邮件的实例代码_oracle

--发送邮件的主过程如下所述: Procedure send_mail_ (p_From Varchar2, --邮件发送人 p_Fromuser Varchar2, --发件人昵称 p_Touser Varchar2, --接受人昵称 p_To Varchar2, --邮件接收人 p_Cc Varchar2, --邮件抄送人 p_Subject Varchar2, --邮件标题 p_Message Varchar2, --邮件内容 p_User Varchar2, --邮件验证用户 p_Mai

使用Java调用Oracle数据库的存储过程实例

使用Java调用Oracle数据库的存储过程实例时间:2009-08-19 18:02:43来源:网络 作者:未知 点击:984次 一:无返回值的存储过程1.建立存储过程CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) ASBEGININSERT INTO T_TEST (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA; 2.相应的JAVA程序impo一:无返回值

sybase 数据库 删除触发器 一次删除多条记录,触发器为什么只执行一次。

问题描述 sybase 数据库 删除触发器 一次删除多条记录,触发器为什么只执行一次. Table1 id,name 1,'AA' 2,'BB' 3,'BB' 4,'BB' Table2 rq, tlb_name , value '2015/02/25','Table1' , 'id=1' 触发器: create trigger TR_DEL_Table1 on Table1 for delete as declare @IDtmp int declare @ID varchar select

删除表-oracle数据库删除所有表的问题

问题描述 oracle数据库删除所有表的问题 在oracle数据库中如何用sql语句删除该数据库中的所有表,drop一条一条的来很费力的,700多条,删完估计要到明年了,哪位大仙给个法门? 解决方案 那还不如删掉那个数据库再重建一个数据库 解决方案二: 恩,把数据库删了重新建立一个吧,所有表,一个一个的删的确有点辛苦哈,楼主 解决方案三: select 'drop table ' || TABLE_NAME || ';' from all_tab_comments where owner='用户

oracle数据库删除所有表的问题

问题描述 oracle数据库删除所有表的问题 删除一个数据库中的所有表,我的数据库中一共将近700条table,一条一条的删,太慢了,如何用.sql脚本文件,删除所有表? 解决方案 sql文件就是每一个删除表的语句放到一行,然后执行SQL文件. 解决方案二: 你的意思时手工一句句输入麻烦? 先用下面的结果生成一个脚本,再执行脚本. select 'DROP TABLE '+TABLE_NAME+';' from user_tables 解决方案三: 二楼正解.如果删除表麻烦,就先drop表再重新

linux oracle数据库删除操作指南_oracle

Linux操作系统下完全删除Oracle数据库详述: 1.关掉oracle server 和 background processes ps -ef | grep ora 关掉数据库 shutdown immediate 2.关掉监听 lsnrctl status 如果开启的话就执行lsnrctl stop 关掉 3.把$ORACLE_HOME下面的文件删掉 用dbca图形界面把数据库删掉 4.把/usr/local/bin 下的三个文件夹 dbhome oraenv coraenv删掉 rm