oracle觸發器中增刪改查本表

2021-06-16 11:58:02 字數 932 閱讀 8099

oracle觸發器中增刪改查本表

(1)只有before insert觸發器中才可以查詢或更新本表

create or replace trigger tri_test_ins

before insert

on test

for each row

declare

v_cnt integer;

begin

select count(*) into v_cnt from test;

dbms_output.put_line('test count:'||to_char(v_cnt));

update test set a9='99';

end;

執行insert後,只有當前插入的記錄值不是99,其它的記錄都被更新成了99。

(2)before/after update、before/after delete、after insert5種情況都不可以查詢或更新本表。

(3)使用自治事務可以實現任意觸發器查本表。但不能實現在自治事務中更新本表。

查詢本表的情況是最常見的。

create or replace trigger tri_test_ins

after update

on test

for each row

declare

v_cnt integer;

pragma autonomous_transaction;

begin

begin

select count(*) into v_cnt from test;

dbms_output.put_line('test count:'||to_char(v_cnt));

end;

end;

(4)使用自治事務可以實現新增或刪除本表的記錄。這種情況一般不會用到。

mysql 之觸發器 增刪改查

在mysql server裡面也就是對某乙個表的一定的操作,觸發某種條件 insert,update,delete 等 從而自動執行的一段程式。從這種意義上講觸發器是乙個特殊的儲存過程,用與更新危險提示 表1 主表 drop table if exists sih main create table...

MySQL 觸發器增刪改查基本操作

觸發器是與表有關的資料庫物件,指在insert updateldelete之前或之後,觸發並執行觸發器中定義的sql語句集合。觸發器的這種特性可以協助應用在資料庫端確保資料的完整性,日誌記錄,資料校驗等操作。大約是機關 觸發器型別 我們可以使用old,new 來獲取被修改的物件和修改後的物件 型別o...

運用觸發器完成增刪改查業務需求

行級觸發器 語句級觸發器 一 為什麼要用觸發器 跟蹤並記錄所有對雇員表的表結構進行改變的操作,如新增一列,修改列的型別 刪除表等ddl操作,要將這些操作儲存到乙個審計表中,以備以後查詢。1 分析 只要一變動表結構就要記錄所有操作到乙個審計表中。2 觸發器能夠滿足需求 不需要顯式呼叫來執行,而是由乙個...