我是SQL Server数据库的初学者。我有一个基本的问题。
如何在SQL Server
中检索temporary table
的列名?我尝试过查询sys.objects
,但是表没有在那里列出。
发布于 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%'
但请注意,本地临时表名不是唯一的。我们可以在不同的会话中使用相同的名称。所以要小心查询。
发布于 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%';
发布于 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)
https://stackoverflow.com/questions/51543447
复制相似问题