關於Server Sql 2008觸發器的使用


1、創建同一個服務器下同一個數據庫實例兩個不同數據庫表同步方法

--====================================
-- Create database trigger 
--====================================

--User表新增同步到副本數據庫的User表里
create trigger tr_insert_User on China.dbo.[User]
for insert
as
set xact_abort on 
insert China_Copy.dbo.[User](Id, Account, RealName, LastVisit, AuditStatus, Enabled)
select Id, Account, RealName, LastVisit, AuditStatus, Enabled from inserted
go

--修改同步
create   trigger   tr_update_User   on   China.dbo.[User]
for   update
as
set   xact_abort   on
update   b   set   Enabled=i.Enabled,AuditStatus=i.AuditStatus
from   China_Copy.dbo.[User]   b,inserted   i
where   b.Id=i.Id
go
 
--刪除同步
create   trigger   tr_delete_User   on   China.dbo.[User]
for   delete
as
set   xact_abort   on
delete   b  
from   China_Copy.dbo.[User]   b,deleted   d
where   b.Id=d.Id
go

2、查看當前庫中所有的觸發器:

SELECT * FROM Sysobjects WHERE xtype = 'TR'

3、查看當前庫中所有的觸發器和與之相對應的表:

SELECT tb2.name AS tableName,tb1.name AS triggerName FROM Sysobjects tb1 JOIN Sysobjects tb2 ON tb1.parent_obj=tb2.id WHERE tb1.type='TR'

4、顯示觸發器的定義:

EXEC sp_helptext '觸發器名'

5、查看觸發器的有關信息:

EXEC sp_help '觸發器名'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM