四個錶用觸發器級聯刪除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...