我想获取临时表中的列列表,类似于INFORMATION_SCHEMA.columns视图。但是,这段代码:
select *
from tempdb.INFORMATION_SCHEMA.columns
where TABLE_CATALOG = 'tempdb'
and TABLE_NAME like '#myTemporaryTable%'
每列和每个会话返回一行。这样做是否安全:
select distinct column_name,data_type
from tempdb.INFORMATION_SCHEMA.columns
where TABLE_CATALOG = 'tempdb'
and TABLE_NAME like '#myTemporaryTable%'
我感觉不是这样,即使你收紧了类似条款,也不会匹配myTemporaryTable和myTemporaryTable2。
答案 0 :(得分:6)
如果你真的需要查询tempdb,我会使用object_id
SELECT *
FROM tempdb.sys.columns
WHERE object_id = OBJECT_ID('tempdb..#myTemporaryTable')