【发布时间】:2016-04-09 22:45:25
【问题描述】:
我正在尝试为 SQL Server 2016 RC 2 中的内存优化表编写删除触发器
CREATE TRIGGER [dbo].[TestCascadeDelete]
ON [CAMSII].[dbo].[Table1]
WITH NATIVE_COMPILATION, SCHEMABINDING
FOR DELETE
AS BEGIN ATOMIC WITH
(
TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english'
)
DELETE [dbo].[Table2]
WHERE [dbo].[Table2].Id IN(SELECT Id from DELETED)
END
GO
当我运行此查询时,我收到以下错误。 子查询(嵌套在另一个查询中的查询)仅在具有本机编译模块的 SELECT 语句中受支持。
【问题讨论】:
-
DELETE FROM [dbo].[Table2] FROM dbo.Table2 AS t2 JOIN deleted d ON t2.Id = d.id -
@lad2025 我曾尝试过,也曾多次尝试过,但本机编译模块中也不允许使用 FROM 子句。这是新的错误
Using the FROM clause in an UPDATE statement and specifying a table source in a DELETE statement is not supported with natively compiled modules.
标签: in-memory database-trigger sql-server-2016 memory-optimized-tables