觸發器 迴圈刪除小例子

2021-07-24 10:40:41 字數 829 閱讀 5330

a表中刪除一條記錄,b表根據a表刪除的記錄中的某個欄位的資料相應刪除相關記錄。

--觸發器

create or replace trigger deletehrpost after delete on hr_post for each row;

declare 

pragma autonomous_transaction;  --自治事務

begin

deletehrpost(c1 varchar2(32));--調儲存過程

commit;  --手動提交

end;

--儲存過程

create or replace procedure deletehrpost(c1 varchar2) is 

post_id_row varchar2(32);--記錄b表當前需要刪除記錄的id

cursor posts_id(c2 varchar2) is select rule_id from jc_pub_user_role_test where post_code =c1;  --宣告游標 

begin

open posts_id(c1);

fetch posts_id into post_id_row;

while posts_id%found loop   --開啟迴圈

delete from jc_pub_user_role_test where rule_id = post_id_row ;

fetch posts_id into post_id_row;

end loop;  -- 關閉迴圈

end;   -- 乙個end即可 包括了關閉游標

觸發器小例子!

insert 觸發器 create trigger tri infodetails i on info details after insert asdeclare id int begin delete from info details where id select id id from in...

SQL觸發器小例子

在orders表上建立乙個觸發器叫bak order create trigger bak order on orders 觸發條件為 在該orders表上做insert操作後才出發 也可以在加上如drop update等 after insert asbgein 在上面的操作orders表的ins...

MySQL儲存過程 觸發器 小例子

一 儲存過程 語法 create procedure in out inout 引數名 資料類形.begin end 引數 in 輸入引數 表示該引數的值必須在呼叫儲存過程的時候指定,在儲存過程中修改該引數的值不能被返回,為預設值。out 輸出引數 該值可在儲存過程內部被改變,並可返回。inout ...