You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:如何查看SQL Server中临时表的定义?含#stun示例表

嘿,我来帮你搞定这两个关于SQL Server临时表的问题:

1. 如何查看临时表的定义?

SQL Server里的临时表分本地临时表(以#开头)和全局临时表(以##开头),查看它们定义的方法有好几种,挑几个实用的给你:

  • 使用系统存储过程 sp_help:这是最省心的方法,直接执行 sp_help '你的临时表名',它会返回表的结构、列信息、数据类型、约束等全套定义细节。
  • 查询tempdb的系统视图:临时表本质上是存在tempdb数据库里的,所以可以通过查询系统视图来提取信息,比如关联sys.tables、sys.columns和sys.types来获取列的详细定义:
SELECT 
    c.name AS 列名,
    t.name AS 数据类型,
    c.max_length AS 长度,
    CASE c.is_nullable WHEN 1 THEN '是' ELSE '否' END AS 是否允许为空
FROM tempdb.sys.tables AS tbl
JOIN tempdb.sys.columns AS c ON tbl.object_id = c.object_id
JOIN tempdb.sys.types AS t ON c.system_type_id = t.system_type_id
WHERE tbl.name LIKE '你的临时表名%' -- 临时表在tempdb里的名称会带随机后缀,用LIKE匹配
  • 使用sys.dm_exec_describe_first_result_set函数:这个函数能返回指定查询的结果集结构,对于临时表,你可以写个简单的SELECT语句来获取它的定义:
SELECT 
    name AS 列名,
    system_type_name AS 数据类型,
    CASE is_nullable WHEN 1 THEN '是' ELSE '否' END AS 是否允许为空
FROM sys.dm_exec_describe_first_result_set(N'SELECT * FROM 你的临时表名', NULL, 0);
2. 查看你创建的#stun临时表的定义

针对你创建的create table #stun (name varchar(40),id int,gender varchar(40))这个临时表,直接套用上面的方法就行:

  • 方法一(最直观):执行下面的语句,瞬间就能看到所有定义信息:
sp_help '#stun'
  • 方法二:用系统视图精准查询,因为#stun在tempdb里的实际名称会带后缀(比如#stun________________00000000004C),所以用LIKE '#stun%'来匹配:
SELECT 
    c.name AS 列名,
    t.name AS 数据类型,
    c.max_length AS 长度,
    CASE c.is_nullable WHEN 1 THEN '是' ELSE '否' END AS 是否允许为空
FROM tempdb.sys.tables AS tbl
JOIN tempdb.sys.columns AS c ON tbl.object_id = c.object_id
JOIN tempdb.sys.types AS t ON c.system_type_id = t.system_type_id
WHERE tbl.name LIKE '#stun%'
  • 方法三:用sys.dm_exec_describe_first_result_set快速获取列定义:
SELECT 
    name AS 列名,
    system_type_name AS 数据类型,
    CASE is_nullable WHEN 1 THEN '是' ELSE '否' END AS 是否允许为空
FROM sys.dm_exec_describe_first_result_set(N'SELECT * FROM #stun', NULL, 0);

内容的提问来源于stack exchange,提问作者Saurabh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:07:38