偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何利用觸發(fā)器實現(xiàn)兩個數(shù)據(jù)庫間的同步

數(shù)據(jù)庫
觸發(fā)器是個特殊的存儲過程,它的執(zhí)行不是由程序調(diào)用,也不是手工啟動,而是由事件來觸發(fā),比如當對一個表進行操作時就會激活它執(zhí)行。下文中為大家介紹如何利用觸發(fā)器實現(xiàn)兩個數(shù)據(jù)庫間的同步。

若對于同一數(shù)據(jù)庫實例中的兩個數(shù)據(jù)庫進行同步則直接對數(shù)據(jù)庫表創(chuàng)建Trigger。

SQL Server 2005的聯(lián)機幫助:

Trigger on an INSERT, UPDATE, or DELETE statement to a table or view (DML Trigger)

CREATE TRIGGER [ schema_name . ]trigger_name

ON { table | view }

[ WITH [ ,...n ] ]

{ FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }

[ WITH APPEND ]

[ NOT FOR REPLICATION ]

AS { sql_statement [ ; ] [ ...n ] | EXTERNAL NAME }

::= [ ENCRYPTION ] [ EXECUTE AS Clause ]

::= assembly_name.class_name.method_name

以下是一個例子

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go


-- Create date: 2007-12-24

-- Description:

CREATE TRIGGER [Trigger_Add_Carduser]

ON [dbo].[carduser]

AFTER INSERT

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

set insert ParkFee.dbo.card_user(card_user_id,card_user_name,sex)

select card_user_id,card_user_name,sex from inserted

END

說明:

上例實現(xiàn)了為當前數(shù)據(jù)庫中表carduser創(chuàng)建觸發(fā)器當插入數(shù)據(jù)時,同步向ParkFee數(shù)據(jù)庫表dbo.card_user插入數(shù)據(jù),從而達到同步插入。類同,可將insert語句改為update,delete。

注意:

若想利用此方法達到反向同步則可能出現(xiàn)問題,比如想在parkfee數(shù)據(jù)庫有新數(shù)據(jù)插入時讓當前數(shù)據(jù)庫也同時插入一條記錄,建立一個觸發(fā)器,則形成了一個循環(huán)觸發(fā),當插入數(shù)據(jù)時會報大于***遞歸次數(shù)錯。因此因避免這樣的觸發(fā)循環(huán),若要達到類似效果還須想別的方法。(待續(xù))

補充:

若兩個庫處于不同的數(shù)據(jù)庫服務器則應先進行以下操作:

在 server1 上創(chuàng)建連接服務器,以便在 server1 中操作 server2,實現(xiàn)同步

exec sp_addlinkedserver 'server2','','SQLOLEDB','server2的數(shù)據(jù)庫實例名或ip'

exec sp_addlinkedsrvlogin 'server2','false',null,'用戶名','密碼'

go

【編輯推薦】

  1. 如何保存數(shù)據(jù)庫連接參數(shù)代碼及步驟詳解
  2. 講解SQL Server數(shù)據(jù)庫觸發(fā)器的安全隱患
  3. 學習基于SQL數(shù)據(jù)庫的算法
責任編輯:迎迎 來源: 賽迪網(wǎng)
相關(guān)推薦

2011-08-10 16:46:01

DB2數(shù)據(jù)庫觸發(fā)器

2011-03-03 14:04:48

Oracle數(shù)據(jù)庫觸發(fā)器

2011-08-04 11:00:35

Oracle數(shù)據(jù)庫虛擬列復合觸發(fā)器

2019-10-22 07:50:45

SqlServer數(shù)據(jù)庫觸發(fā)器

2011-08-04 13:31:50

數(shù)據(jù)庫記錄更改日志觸發(fā)器

2010-09-13 16:46:10

SQL Server觸

2010-06-30 09:36:25

SQL Server

2011-04-01 16:35:09

SQL Server數(shù)觸發(fā)器

2011-05-20 14:39:28

2010-07-06 14:47:03

SQL Server數(shù)

2010-07-08 13:48:38

同步兩個SQLServ

2023-11-16 18:03:05

Kafka分布式消息

2010-06-02 16:57:50

MySQL數(shù)據(jù)庫同步

2019-04-30 15:28:46

數(shù)據(jù)庫存儲過程觸發(fā)器

2011-05-20 14:06:25

Oracle觸發(fā)器

2010-05-18 15:58:39

MySQL觸發(fā)器

2018-08-02 10:14:49

服務器數(shù)據(jù)庫主從同步

2024-12-06 08:29:29

2024-01-19 09:37:19

MySQL數(shù)據(jù)庫

2010-07-23 15:26:29

SQL Server
點贊
收藏

51CTO技術(shù)棧公眾號