sql-server - 如何从临时表中获取列列表?

标签 sql-server temp-tables

我想获取临时表中的列列表,类似于 INFORMATION_SCHEMA.columns View 。但是,这段代码:

select * 
from   tempdb.INFORMATION_SCHEMA.columns
where  TABLE_CATALOG = 'tempdb'
and    TABLE_NAME like '#myTemporaryTable%'

每个 session 每列返回一行。这样做安全吗:

select distinct column_name,data_type 
from   tempdb.INFORMATION_SCHEMA.columns
where  TABLE_CATALOG = 'tempdb'
and    TABLE_NAME like '#myTemporaryTable%'

我有一种感觉,即使您收紧 like 子句,它也不会匹配 myTemporaryTable 和 myTemporaryTable2。

最佳答案

如果你确实需要查询tempdb,我会使用object_id

SELECT  *
FROM    tempdb.sys.columns 
WHERE object_id = OBJECT_ID('tempdb..#myTemporaryTable')

关于sql-server - 如何从临时表中获取列列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16322827/

相关文章:

sql - 如何内连接多列?

asp.net - 如何将SQL用户自定义函数添加到 Entity Framework 中?

MySQL:如何将子项的 SUM() 值更新为同一表中的父行?

sql - Try Catch - 资源强度?

sql-server - 如果 SELECT 中的一个或多个链接服务器脱机,则链接服务器 SELECT UNION 结果

c# - 如何将内联 SQL 转换为 SQL Server 中的存储过程

sql - SQL Server中的临时表导致 ' There is already an object named'错误

mysql - 创建临时表时出错

每年每季度的 MySQL 计数,计数为 0

mysql - PrestaShop 无缘无故在/tmp 中创建#sql_ 文件