MySQL建立觸發器

2021-09-21 00:17:35 字數 3198 閱讀 9665

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

-- 新增

createtriggeryqhl_htjs_b_htjbxx_insert beforeinserton表名

foreach row

begin

if (new.f_sync_updateisnull)or(new.f_sync_update = 0)then

setnew.f_sync_update=null;

-- 把新增加的記錄插入到操作記錄表

insertintodata_sync_b_operator(t_name, o_type, o_date, vkeys)values('表名',1,current_timestamp,new.htdqbh);

endif;

end;

-- 修改

createtriggeryqhl_htjs_b_htjbxx_update beforeupdateon表名

foreach row

begin

if (new.f_sync_updateisnull)or(new.f_sync_update = 0)then

-- 插入和更新操作,更新時間戳f_sync_date=systimestamp和f_sync_update=null

setnew.f_sync_update=null;

endif;

end;

-- 刪除

createtriggeryqhl_htjs_b_htjbxx_delete beforedeleteon表名

foreach row

begin

if (old.f_sync_updateisnull)or(old.f_sync_update = 0)then

-- 插入和更新操作,更新時間戳f_sync_date=systimestamp和f_sync_update=null

-- 把刪除記錄的主鍵新增到操作記錄表

insertintodata_sync_b_operator(t_name, o_type, o_date, vkeys)values('表名',3,current_timestamp,old.htdqbh);

endif;

end;

my sql 觸發器 mysql建立觸發器

首先,我們來了解一下什麼是觸發器,觸發器,就是在對一張表資料進行增 insert 刪 delete 改 update 的時候,為了保持資料的一致性,對別的表也要進行相應的資料修改。我們都知道mysql最後事務提交後,資料是會儲存到磁碟上的,那麼每次在insert,delete,update時候舊資料...

mysql建立觸發器

注 觸發器中不能呼叫儲存過程,觸發器功能應盡量簡單 use d database name 切換到資料庫 set names utf8 drop if exists when update can use drop trigger if exists tr update bind sno delim...

mysql建立觸發器

很多時候為了提高查詢效率,我們會在一些表當中增加冗餘字段,例如在客戶表裡面儲存用油卡號,但是如果客戶掛失原卡,申請了新的油卡,冗餘欄位就不正確了,這時候應該怎麼辦呢?我們可以建立乙個觸發器,當客戶插入新的油卡資料的時候同時更新客戶資料。delimiter create trigger update ...