No código abaixo, o OUTPUT Updated.*
falha quando executado como está, mas removê- FROM
lo UPDATE
e substituí-lo por um valor estático funciona bem. Existe uma sintaxe diferente necessária ao usar OUTPUT
com um UPDATE FROM
?
USE SCRATCH
CREATE TABLE Tab1(a char(10))
CREATE TABLE Tab2(a char(10))
CREATE TABLE Tab3(a char(10))
INSERT INTO Tab1(a) values ('a')
INSERT INTO Tab1(a) values ('a')
INSERT INTO Tab1(a) values ('a')
INSERT INTO Tab1(a) values ('a')
INSERT INTO Tab1(a) values ('a')
INSERT INTO Tab2(a) values ('a')
INSERT INTO Tab2(a) values ('a')
INSERT INTO Tab2(a) values ('a')
INSERT INTO Tab2(a) values ('a')
INSERT INTO Tab2(a) values ('a')
UPDATE T1
SET T1.a = T2.a
FROM Tab1 T1 JOIN Tab2 T2 ON T1.a = T2.a
OUTPUT Updated.*
O erro que recebo é
Msg 102, Level 15, State 1, Line 22
Incorrect syntax near 'OUTPUT'.