Olá.
Na aula 6, tópico 05 Manipulando promoções e produtos, é feita a inserção dos produtos.
Porém ao executar gera o seguinte erro.
Incorrect syntax near ','. Incorrect syntax near 'MERGE'.
São gerados os seguintes comandos SQL
Executed DbCommand (4ms) [Parameters=[@p0='?' (Size = 4000), @p1='?' (Size = 4000), @p2='?', @p3='?' (Size = 4000), @p4='?' (Size = 4000), @p5='?' (Size = 4000), @p6='?', @p7='?' (Size = 4000), @p8='?' (Size = 4000), @p9='?' (Size = 4000),@p10='?', @p11='?' (Size = 4000), @p12='?', @p13='?', @p14='?' (Size = 4000)], CommandType='Text', CommandTimeout='30']
SET NOCOUNT ON;
DECLARE @toInsert0 TABLE ([Categoria] nvarchar(max), [Nome] nvarchar(max), [PrecoUnitario] float, [Unidade] nvarchar(max), [_Position] [int]);
INSERT INTO @toInsert0
VALUES (@p0, @p1, @p2, @p3, 0),
(@p4, @p5, @p6, @p7, 1),
(@p8, @p9, @p10, @p11, 2);
DECLARE @inserted0 TABLE ([Id] int, [_Position] [int]);
MERGE [Produtos] USING @toInsert0 AS i ON 1=0
WHEN NOT MATCHED THEN
INSERT ([Categoria], [Nome], [PrecoUnitario], [Unidade])
VALUES (i.[Categoria], i.[Nome], i.[PrecoUnitario], i.[Unidade])
OUTPUT INSERTED.[Id], i._Position
INTO @inserted0;
SELECT [t].[Id] FROM [Produtos] t
INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id])
ORDER BY [i].[_Position];
INSERT INTO [Promocoes] ([DataInicio], [DataTermino], [Descricao])
VALUES (@p12, @p13, @p14);
SELECT [Id]
FROM [Promocoes]
WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();
A versão do SQL Server que gerou o erro
Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.1 (Build 7601: Service Pack 1)
Gerei o script de migração com o comando Script-Migration e executei o programa em outra base SQL Server. Então funcionou.
Essa é a versão do SQL Server que funcionou
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Express Edition with Advanced Services (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)
Irei continuar as próximas aulas com a versão acima, mas gostaria de saber o que gerou esse erro. Saber se esse erro é contornável.