觸發器 表同步增刪查改

2021-08-21 09:43:07 字數 1724 閱讀 3909

sql server  觸發器實現多表之間同步增加,刪除與更新。

1 、 資料同步增加:

如有兩張表--a表和b表,建立觸發器使a表插入資料後b表也同步插入資料。其中b表插入資料的字段需要同a表中的字段相對應。

create trigger 觸發器名稱 

on a表

after insert 

as begin insert into 

b表(b表字段1,b表字段2,b表字段3)

select a表字段1,a表字段2,a表字段3 

from inserted

endcreate trigger [dbo].[lumadb0521]    (觸發器名稱)

on [dbo].[t_mob_reg]  (a表)

after insert

asbegin

insert into lumadb0521_4.dbo.t_mob_reg (b表)

select * from inserted

end2、資料同步刪除:

兩張表 a表b表,建立觸發器使當a表刪除資料後b表也同步刪除資料,

其中b表與a表應有相應主鍵關聯。

create trigger 觸發器名稱 

on a表 

after delete 

as begin delete b表 

where 

b表主鍵 in( 

select a表主鍵

from deleted) 

endcreate trigger 觸發器名稱 

on [dbo].[t_mob_reg]

after delete 

as begin delete [lumadb0521_4].[dbo].[t_mob_reg] 

where 

[lumadb0521_4].[dbo].[t_mob_reg].id in( 

select id  --a表主鍵

from deleted) 

end3、資料同步更新:

ab兩張表,

建立觸發器使當a表資料更新後b表也同步更新資料。

create trigger 觸發器名稱

on a表 

after update 

as update b表

set 

b.b表字段1=a.a表字段1  

from

b表 as b,inserted as a   

where b.b表主鍵=a.a表主鍵

create trigger [dbo].[lumadb0521_update]

on [dbo].[t_mob_reg]

after update

asbegin

if update(mobileno)

begin

update [lumadb0521_4].[dbo].[t_mob_reg] 

set mobileno=d.mobileno,

nickname=d.nickname,

headlmage_ural=d.headlmage_ural

from [lumadb0521_4].[dbo].[t_mob_reg] br , inserted  d     --deleted和inserted臨時表

where br.id=d.id

end  

end4、修改觸發器用 將 create 換成 alter 就ok了。

oracle觸發器中增刪改查本表

oracle觸發器中增刪改查本表 1 只有before insert觸發器中才可以查詢或更新本表 create or replace trigger tri test ins before insert on test for each row declare v cnt integer begin...

mysql 之觸發器 增刪改查

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

的增刪查改 MySQL定義庫表,增刪查改

mysql sql語言 ddl語句 資料庫定義語言 資料庫,表,檢視,索引,儲存過程 dml語句 資料庫操縱語言 插入資料insert,刪除資料delete,更新資料update dql語句 資料庫查詢語言 查詢資料select dcl 語句 資料庫控制語言 例如控制使用者的訪問許可權grant,r...