[英]Create Trigger on a table with clustered columnstore index - Error
我正在尝试在具有列存储聚集索引的表上创建触发器。 每当有人更新时,它就会将记录记录在审计模式表中。 当我执行Create Trigger
SQL 时,出现此错误
在表 'dbo.report' 上创建触发器失败,因为您无法在具有聚集列存储索引的表上创建触发器。 考虑以其他方式强制执行触发器的逻辑,或者如果您必须使用触发器,请改用堆或 B 树索引。
任何帮助,将不胜感激。
CREATE TRIGGER trg_report
ON dbo.[Report]
after UPDATE, DELETE
AS
BEGIN
INSERT INTO [Audit].[Report]
(userid,
department,
modifydate)
SELECT [UserId] = CURRENT_USER,
D.* FROM deleted D
WHERE CURRENT_USER NOT IN (SELECT accountname
FROM
dbo.[account])
END
如果您确实需要触发器,则必须使表成为聚集索引或堆。 然后可以添加非聚集列存储索引,但行数据将被存储两次。
你应该能够
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.