列出SQL Server中临时表中的列名称

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (41)

我是SQL Server数据库的初学者。我有一个基本问题。

如何检索temporary tablein 的列名SQL Server?我试过查询sys.objects,但表没有在那里列出。

提问于
用户回答回答于
SELECT Obj.NAME
    ,Col.NAME
FROM tempdb.sys.objects Obj
INNER JOIN tempdb.sys.columns Col ON Obj.object_id = Col.object_id
WHERE Obj.NAME LIKE '#tmp%'

但请注意,本地临时表名称不是唯一的。我们可以从不同的会话中使用相同的名称。所以要小心查询。

用户回答回答于
`SELECT STUFF( 
   `(SELECT ',' + LTRIM(RTRIM(ISNULL(name,''))) 
      `FROM tempdb.sys.columns 
      `WHERE Object_ID = Object_ID(N'tempdb..#TEMP')
      `FOR XML PATH(''), TYPE).value('.','varchar(max)'), 1, 1, '') 
`AS comma_separated_list

扫码关注云+社区

领取腾讯云代金券