vendredi 27 mars 2015

Upgrading a database from SQL Server 2005 to 2012 uncovered a syntax error


I recently upgraded from SQL Server 2005 to 2012. During validation however, a bug was discovered.


A certain trigger was coded as follows:



CREATE TRIGGER [dbo].[trigger] on [dbo].[foo]
FOR UPDATE, UPDATE
AS
UPDATE foobar
SET datetime = GetDate()
FROM bar
WHERE foobar.id = bar.id
GO


I can safely execute this (oddly) on SQL Server 2005.


However on SQL Server 2012 it throws (what I would expect) a syntax error.



Syntax error: Duplicate specification of the action "UPDATE" in the trigger declaration.



Why does this not throw a syntax error on SQL Server 2005? My google-fu on this has failed me.


Why does this seemingly work on SQL Server 2005?





Aucun commentaire:

Enregistrer un commentaire