34,588
社区成员
发帖
与我相关
我的任务
分享
--RT,举例如下:
declare @mode int
set @mode=1
if @mode=0
;with w0 as(
select 0
)
else if @mode=1
;with w0 as(
select 1
)
else if @mode=2
;with w0 as(
select 2
)
/*
报错:
消息 102,级别 15,状态 1,第 5 行
';' 附近有语法错误。
消息 156,级别 15,状态 1,第 8 行
关键字 'else' 附近有语法错误。
消息 102,级别 15,状态 1,第 9 行
';' 附近有语法错误。
消息 156,级别 15,状态 1,第 12 行
关键字 'else' 附近有语法错误。
消息 102,级别 15,状态 1,第 13 行
';' 附近有语法错误。
消息 102,级别 15,状态 1,第 15 行
')' 附近有语法错误。
--定义完没有引用cte
declare @mode int
set @mode=1
if @mode=0
begin
;with [w0] as(
select 0 col
)
SELECT * FROM [w0]
END
else if @mode=1
begin
;with [w0] as(
select 1 col
)
SELECT * FROM [w0]
end
else if @mode=2
begin
;with [w0] as(
select 2 col
)
SELECT * FROM [w0]
end