首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在SQL Server中向下列出临时表中的列名

在SQL Server中向下列出临时表中的列名
EN

Stack Overflow用户
提问于 2018-07-27 00:21:37
回答 4查看 1.9K关注 0票数 2

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

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-07-27 00:25:37

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%'

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

票数 1
EN

Stack Overflow用户

发布于 2018-07-27 00:24:04

临时表存储在tempdb数据库中,因此您必须从tempdb数据库中查询视图。如下所示:

SELECT c.name
FROM tempdb.sys.objects o
INNER JOIN tempdb.sys.columns c ON c.object_id = o.object_id
WHERE o.name LIKE '#TempTableName%';
票数 2
EN

Stack Overflow用户

发布于 2018-07-27 00:30:13

下面是如何获取当前会话的临时表。

SELECT c.name
FROM tempdb.sys.objects o
INNER JOIN tempdb.sys.columns c ON c.object_id = o.object_id
WHERE o.object_id = object_id('tempdb..#TempTableName)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51543447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档