【发布时间】:2013-05-11 06:29:53
【问题描述】:
首先对不起我的英语。
当接收到特定表中的更新时,我有一台服务器,我也想写入远程服务器,但是如果远程服务器不可用,我希望触发器在另一个临时表中写入本地服务器。
写入远程服务器的示例代码:
-- REMOTO is remote server
CREATE TRIGGER insertin
ON mangas
AFTER INSERT
AS
BEGIN
DECLARE @serie varchar(max), @capitulo int
SELECT @serie = serie ,@capitulo = capitulo
FROM inserted
INSERT INTO [REMOTO].[Gest].[dbo].[MARCA] (Codigo, Descripcion)
VALUES (@capitulo, @serie)
END
例如,我需要TRY...CATCH 或类似的东西。我不知道我该怎么做。
感谢您的回答,再次为我的英语感到抱歉。
【问题讨论】:
-
最好仅从触发器写入本地表,然后让其他东西(例如 SQL 作业、SQL 代理等)执行远程访问.远程连接可能需要 很长 时间才能失败,这会阻止运行
INSERT的本地事务实际提交。此外,您的触发器已损坏 -inserted可以包含 0、1 或 许多 行。
标签: sql-server tsql triggers insert