我寫的乙個觸發器的小例子

2021-04-17 15:16:01 字數 850 閱讀 9714

我寫的乙個觸發器的小例子,已經測試通過

表a和a_active結構相似都有如下字段

id    name   land_no

create or replace trigger t_a

before insert or update or delete on a

for each row

declare

pbcount number;

begin

select count(land_no) into pbcount from a_active where land_no = :new.land_no;

if inserting or updating then

if pbcount<=0 then

insert into a_active (id,name,land_no) values (:new.id,:new.name,:new.land_no);

else

update a_active

set id = :new.id,

name = :new.name ,

where land_no = :new.land_no;

end if;

end if;

if deleting then

delete from a_active where land_no = :old.land_no;

end if;

end;

功能就是a表插入資料時 ,在a_active中查詢,如果存在則更新,不存在則插入。

當a 表資料更新時,a_active也更新

當a表刪除記錄時,a_active也將相應記錄刪除

乙個觸發器的例子

create or replace trigger usremhr trg sq rule insert before insert on sq rule base for each row declare temp rule id varchar2 10 temp rul theme id var...

乙個Oracle觸發器的例子

有乙個表,表名是xx,有abcd四個字段,正常情況下,abc abd這三個欄位都可以唯一確定一條記錄,按理應該做成唯一索引,但由於歷史原因,該錶存在重複資料,但要刪掉哪一條需要人工判斷,無法用語句批量刪除,於是唯一索引加不上。但為了保證以後資料的準確性,需要控制新插進去的記錄是唯一的。於是我寫了乙個...

SQLite的乙個觸發器的例子

sqlite3觸發器的實戰 你可以搜尋 sqlite 觸發器 或 sqlite 觸發器的sql語法 然後你應該能找到乙個pdf文件或其他樣式的檔案。它簡要講解了一些基本內容,如果你和我一樣什麼都不知道,可以先看一下它。觸發器分為 語句級觸發器 和 行級觸發器 語句級觸發器是指每執行一條dml語句,該...