0
我今天遇到了一个问题,我想,“嘿,这可能是尝试一些动态SQL的好时机!”但是,我遇到了问题。简化版本可能是...使用动态SQL时更改变量
Declare @Condition VARCHAR(MAX)
SET @Query = 'INSERT INTO #Report_Table
SELECT column1, column2, column3
FROM my_table
WHERE column4 = ''' + @Condition +''''
SET @Condition = 'Blah'
EXEC(@Query)
SET @Condition = 'OtherBlah'
EXEC(@Query)
但是,我发现这是行不通的。当我尝试时,它没有给我结果。看起来@Condition变量必须在@Query变量之前设置。但通过这样做,我不能使用不同的@Conditions多次运行@Query。有什么办法可以做我想做的事吗?
把它放在一个循环中。 – OTTA
创建条件(或CTE)的临时表,然后使用连接... –