我可以在 case 语句中创建临时表吗?
如果是,请举例说明。
其实我想做这样的事情..
declare @a int = 1
select case when @a = 1 then
'yes'
else
'no'
end
如果第一个案例执行,那么我想创建具有操作某些业务数据所需的条件的临时表。
在其他情况下,我想创建另一个具有其他条件的表来操作业务数据。
听起来您应该使用IF
而不是CASE
:
declare @a int = 1
IF @a = 1
BEGIN
'yes'
END
ELSE
BEGIN
'no'
END
我相信你的意思有两种解释:
有不同数据的列:
SELECT CASE WHEN @a = 1 THEN
'yes'
ELSE
'no'
END AS answer
INTO tempTable
创建具有不同查询的表:
IF @a = 1
SELECT 'yes' AS answer
INTO tempTable2
ELSE
SELECT 'no' AS answer, 'other field' as other
INTO tempTable2