sqlserver 使用 with as merge时遇到一个奇怪的问题
直接上代码:WITH T1 AS (
SELECT
ID,
(CASE WHEN ID = 1 THEN 'AAA' ELSE 'BBB' END) AS NAME
FROM
test1
)
MERGE INTO test2 USING T1 ON test2.id = T1.id
WHEN MATCHED THEN
UPDATE SET test2.class = T1.NAME
当with as 语句里 包含了 case when,运行时就会报错:[Err] 42000 - [SQL Server]MERGE 语句必须以分号(;)结尾。
不使用case when 就正常执行
这是什么原因??
我在 with as 里,还必须使用 case when,这要如何解决??