分別創建增加、刪除、更新的觸發器(Trigger)來達到兩張表之間數據同步的目的。
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
END
2.數據同步刪除:
如有兩張表——A表和B表,創建觸發器使當A表刪除數據后B表也同步刪除數據。其中B表與A表應有相應主鍵關聯。
CREATE TRIGGER 觸發器名稱
ON A表
AFTER DELETE
AS BEGIN DELETE B表
WHERE
B表主鍵 IN(
SELECT A表主鍵
FROM DELETED)
END
3.數據同步更新:
如有兩張表——A表和B表,創建觸發器使當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表主鍵
理解觸發器里面的兩個臨時的表:Deleted , Inserted 。注意Deleted 與Inserted分別表示觸發事件的表“舊的一條記錄”和“新的一條記錄”
一個數據庫教程系統中有兩個虛擬表用於存儲在表中記錄改動的信息,分別是:
Tables | 虛擬表Inserted | 虛擬表Deleted |
---|---|---|
新增時 | 存放新增的記錄 | 不存儲記錄 |
修改時 | 存放用來更新的新記錄 | 存放更新前的記錄 |
刪除時 | 不存儲記錄 | 存放被刪除的記錄 |
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。