四個錶用觸發器級聯刪除Oracle

2022-05-04 08:00:08 字數 1050 閱讀 4918

四個錶用觸發器級聯刪除oracle

有四個表,在建表的時候不允許建立外來鍵,其中資料表中有4 

個級聯:

a系統(aid...)     

b資料庫(bid,aid....)

c資料庫表(cid,bid...)

d表的字段(did,cid...) 

不使用約束條件,在orcle

中進行級聯刪除。刪除

a的時候必須把

a下面所有與

aid相同的

b資料庫都刪掉,並且把資料庫裡面的表,表的字段都刪掉,刪除

b的時候必須把所有與

bid相同的

c資料庫表以及

c資料庫表下面的字段都刪掉。

利用oracle

觸發器實現比較簡單,下面是實現過程:

先建立a

系統的觸發器,在觸發刪除

a表這一事件之前,找到

a系統下面與

aid相同的所有

b資料庫,先把所有滿足條件的

b資料庫刪除,再刪除

a系統。同理刪除

b資料庫時候,也一樣,先找到c。

2.create or replace trigger database_delete

before delete on dq_md_db_database  

for each row

declare

begin

delete from dq_md_db_table where database_id =:old.database_id;

end database_delete;

3.create or replace trigger table_delete

before delete on dq_md_db_table  

for each row

declare

begin

delete from dq_md_db_field where table_id =:old.table_id;

end table_delete;

orcale 觸發器實現級聯刪除

請在資料庫中新增兩個觸發器 1 刪除表staff userinfo中的使用者時,同時刪除staff userrole中使用者對應的角色 2 刪除表staff role中的角色時,同時刪除staff rolemodule中角色對應的模組。錯誤 1.create or replace trigger d...

觸發器的四個應用場景

1.複雜的安全性檢查 比如 禁止在非工作時間插入新員工 2.資料庫的確認 比如 漲工資,工資應該越長越多的,如果越長越少就不叫漲工資了 3.資料庫審計 比如 跟蹤表上操作的記錄,比如什麼時間什麼人操作了資料庫,操作了表上的 記錄是什麼等 4.資料庫的備份和同步 比如有兩個資料庫乙個在北京乙個在上海,...

mysql用觸發器同步表

一 先複製表 create table tytj select from tongji where user 0 and date 2016 09 26 or date 2016 09 27 二 建立插入資料時的 觸發器 在phpmyadmin 執行時記得要修改語句定界符為 create trigg...