【问题标题】:Find the column names of Temp table查找 Temp 表的列名
【发布时间】:2015-08-12 16:00:39
【问题描述】:

我需要找到临时表列名

如果是物理表,那么我们可以使用sys.columnsInformation_schema.columns 系统视图来查找列名。

同样有没有办法找到临时表中存在的列名?

【问题讨论】:

    标签: sql sql-server tsql temp-tables


    【解决方案1】:
    SELECT *
    FROM   tempdb.sys.columns
    WHERE  object_id = Object_id('tempdb..#sometemptable'); 
    

    【讨论】:

      【解决方案2】:

      要仅获取列名称,您可以使用以下查询:

      SELECT * 
      FROM tempdb.sys.columns 
      WHERE [object_id] = OBJECT_ID(N'tempdb..#temp');
      

      要获取具有数据类型的列名,您可以使用此查询,但您需要确保 sp_help 在表所在的同一数据库 (tempdb) 中运行。

      EXEC tempdb.dbo.sp_help @objname = N'#temp';
      

      您可以通过加入下面的 tempdb.sys.columns 来获得相同的结果:

      SELECT [column] = c.name, 
             [type] = t.name, c.max_length, c.precision, c.scale, c.is_nullable 
          FROM tempdb.sys.columns AS c
          INNER JOIN tempdb.sys.types AS t
          ON c.system_type_id = t.system_type_id
          AND t.system_type_id = t.user_type_id
          WHERE [object_id] = OBJECT_ID(N'tempdb.dbo.#temp');
      

      【讨论】:

      • 甜蜜。谢谢胡马雍。 sp_help 真的对我有用:)
      猜你喜欢
      • 2014-03-02
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 2017-07-22
      相关资源
      最近更新 更多