在下面的代码中,按OUTPUT Updated.*
原样执行时失败,但删除FROM
inUPDATE
并将其替换为静态值可以正常工作。OUTPUT
与 一起使用时是否需要不同的语法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.*
我得到的错误是
Msg 102, Level 15, State 1, Line 22
Incorrect syntax near 'OUTPUT'.
不,它是相同的语法
output
仍然紧跟在之后set
。虽然没有
updated
可用的桌子。