SQL Server 2008和SQL Server 2012之间的触发器不兼容

时间:2015-10-01 09:15:42

标签: sql sql-server-2008 triggers sql-server-2012

在SQL Server 2008的一个版本上,我们有以下触发器代码:

ALTER TRIGGER [dbo].[TriggerName] 
ON [dbo].[SQLTable] 
FOR UPDATE, INSERT 
AS
   SET NOCOUNT ON

   IF (SELECT Count(*) FROM inserted 
       WHERE NOT (Column1 >= 0 AND Column1 <= 100)) > 0
   BEGIN
       RAISERROR 44444 ' >= 0 And <= 100'
       ROLLBACK TRANSACTION
   END
   ........

这似乎在SQL Server 2008上运行良好,但在SQL Server 2012上不再适用。在SQL Server 2012上,它总是引发错误。

当我更新触发器时,它正在使用SQL Server 2012

From TableName Join Inserted

如果不支持,有什么替代方案?

我们是否只需要再次安装SQL Server 2008,还是必须调整所有SQL代码?

SQL Server 2008和SQL Server 2012之间是否存在已弃用功能的列表?

感谢您的支持

0 个答案:

没有答案