27,579
社区成员
发帖
与我相关
我的任务
分享
USE [EwellPortal]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[TRG_UPDATE_SECURITY_CREDENTIAL]
on [dbo].[SECURITY_CREDENTIAL]
after update
as
set xact_abort on
--关闭192.168.144.170链接服务器上的触发器2
exec [192.168.144.170].[ewellportal].[dbo].PROC_CLOSE_TRG1
declare @CREDENTIAL_ID int
,@CREDENTIAL_VALUE varchar(254)
select @CREDENTIAL_ID = CREDENTIAL_ID
,@CREDENTIAL_VALUE = CREDENTIAL_VALUE
from inserted
BEGIN DISTRIBUTED TRANSACTION
update [192.168.144.170].EwellPortal.dbo.SECURITY_CREDENTIAL
set CREDENTIAL_VALUE = @CREDENTIAL_VALUE
where CREDENTIAL_ID = @CREDENTIAL_ID
COMMIT TRAN
exec [192.168.144.170].[ewellportal].[dbo].PROC_open_TRG1
--开启192.168.144.170链接服务器上的触发器2
--其中192.168.144.170上[PROC_CLOSE_TRG1]和[PROC_OPEN_TRG1]的存储过程代码分别如下:
create proc [dbo].[PROC_CLOSE_TRG1]
AS
ALTER TABLE SECURITY_CREDENTIAL disable trigger [TRG_UPDATE_SECURITY_CREDENTIAL]
create proc [dbo].[PROC_OPEN_TRG1]
AS
ALTER TABLE SECURITY_CREDENTIAL enable trigger [TRG_UPDATE_SECURITY_CREDENTIAL]
update security_credential
set [CREDENTIAL_VALUE] = '5Bg0yHTmgxD0WTTTcxv2IgmpYKc='
where [CREDENTIAL_ID] = 183