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

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

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

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

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

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

以下是一個(gè)例子

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

說(shuō)明:

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

注意:

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

補(bǔ)充:

若兩個(gè)庫(kù)處于不同的數(shù)據(jù)庫(kù)服務(wù)器則應(yīng)先進(jìn)行以下操作:

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

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

exec sp_addlinkedsrvlogin 'server2','false',null,'用戶(hù)名','密碼'

go

【編輯推薦】

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

2011-08-10 16:46:01

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

2011-03-03 14:04:48

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

2011-08-04 11:00:35

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

2019-10-22 07:50:45

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

2011-08-04 13:31:50

數(shù)據(jù)庫(kù)記錄更改日志觸發(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ā)器

2023-11-16 18:03:05

Kafka分布式消息

2011-05-20 14:39:28

2010-07-06 14:47:03

SQL Server數(shù)

2010-07-08 13:48:38

同步兩個(gè)SQLServ

2010-06-02 16:57:50

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

2019-04-30 15:28:46

數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程觸發(fā)器

2011-05-20 14:06:25

Oracle觸發(fā)器

2018-08-02 10:14:49

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

2010-05-18 15:58:39

MySQL觸發(fā)器

2024-01-19 09:37:19

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

2024-12-06 08:29:29

2010-04-15 15:32:59

Oracle操作日志
點(diǎn)贊
收藏

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