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
-- 新增
create
trigger
yqhl_htjs_b_htjbxx_insert before
insert
on
表名
for
each row
begin
if (new.f_sync_update
is
null
)
or
(new.f_sync_update = 0)
then
set
new.f_sync_update=
null
;
-- 把新增加的記錄插入到操作記錄表
insert
into
data_sync_b_operator(t_name, o_type, o_date, vkeys)
values
(
'表名'
,1,
current_timestamp
,new.htdqbh);
end
if;
end
;
-- 修改
create
trigger
yqhl_htjs_b_htjbxx_update before
update
on
表名
for
each row
begin
if (new.f_sync_update
is
null
)
or
(new.f_sync_update = 0)
then
-- 插入和更新操作,更新時間戳f_sync_date=systimestamp和f_sync_update=null
set
new.f_sync_update=
null
;
end
if;
end
;
-- 刪除
create
trigger
yqhl_htjs_b_htjbxx_delete before
delete
on
表名
for
each row
begin
if (old.f_sync_update
is
null
)
or
(old.f_sync_update = 0)
then
-- 插入和更新操作,更新時間戳f_sync_date=systimestamp和f_sync_update=null
-- 把刪除記錄的主鍵新增到操作記錄表
insert
into
data_sync_b_operator(t_name, o_type, o_date, vkeys)
values
(
'表名'
,3,
current_timestamp
,old.htdqbh);
end
if;
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 ...