有人知道该怎么做吗?现在,我在本地表上创建了一个触发器:
{
"AWSEBDockerrunVersion": 2,
"containerDefinitions": [
{
"name": "service1",
"image": "myapp/service1:latest",
"essential": true,
"memoryReservation": 128,
"portMappings": [
{
"hostPort": 8080,
"containerPort": 8080
}
],
"linuxParameters": {
"capabilities": {
"add": [
"SYS_PTRACE"
]
}
}
}
]
}
然后我将执行以下查询:
CREATE TRIGGER TRG_AUD_DEL
ON [LocalTable]
FOR DELETE
AS
INSERT INTO [LinkedServerTable] (columns, columns2)
SELECT
(Columns, Columns2)
FROM DELETED
但是我的问题是,如果插入不起作用怎么办?例如由于超时或链接服务器停机。仍会删除本地表中的记录吗? (我希望不会)
答案 0 :(得分:3)
如果触发器失败,则会回滚 entire 事务。这意味着,如果触发器中的链接服务器上的INSERT
失败,则DELETE
也将回滚,并且其中不删除的行。