gpt4 book ai didi

sql - 动态 SQL 结果 INTO 临时表

转载 作者:行者123 更新时间:2023-12-01 05:06:56 25 4
gpt4 key购买 nike

我需要将动态 sql 结果存储到临时表中 #Temp .

动态 SQL 查询结果来自 pivot结果,因此列数会有所不同(不固定)。

SET @Sql = N'SELECT ' + @Cols + ' FROM 
(
SELECT ResourceKey, ResourceValue
FROM LocaleStringResources where StateId ='
+ LTRIM(RTRIM(@StateID)) + ' AND FormId =' + LTRIM(RTRIM(@FormID))
+ ' AND CultureCode =''' + LTRIM(RTRIM(@CultureCode)) + '''
) x
pivot
(
max(ResourceValue)
for ResourceKey IN (' + @Cols + ')
) p ;'

--@Cols => Column Names which varies in number

现在我必须将动态 sql 结果插入 #Temp表并使用此 #Temp与另一个现有表一起执行连接或其他操作的表。

( #Temp 表应该存在于那里以对其他现有表执行操作)

如何将动态 SQL 查询结果插入临时表?

谢谢

最佳答案

你能试试下面的查询吗?

SET @Sql = N'SELECT ' + @Cols + ' 
into ##TempTable
FROM
(
SELECT ResourceKey, ResourceValue
FROM LocaleStringResources where StateId ='
+ LTRIM(RTRIM(@StateID)) + ' AND FormId =' + LTRIM(RTRIM(@FormID))
+ ' AND CultureCode =''' + LTRIM(RTRIM(@CultureCode)) + '''
) x
pivot
(
max(ResourceValue)
for ResourceKey IN (' + @Cols + ')
) p ;'

然后您可以使用 ##TempTable用于进一步操作。

但是,不要忘记删除 ##TempTable在您的查询结束时,因为如果您再次运行查询,它会给您错误,因为它是 Global Temporary Table

关于sql - 动态 SQL 结果 INTO 临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27752288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com