根据相应的列和记录值更改临时表列名称

时间:2013-11-26 00:54:47

标签: sql sql-server temp-tables

我有一个导入SQL的临时表,其列名如...

Field1, Field2, Field3, Field4, Field5, Field6等等。

表中的一条记录包含实际的列名,例如......

fldBP, fldDialysis, fldMed, fldInventory, fldDoctors

我需要循环或创建一个基本查询,将每个列名更改为位于列中的列名和包含实名的记录。有一个简单的方法吗?列名称的记录始终是第一个。

1 个答案:

答案 0 :(得分:0)

由于您已经拥有sql server中的所有数据,因此无需再次导入它,只需使用类似

的内容即可
SELECT MAX(LEN(Field1)) Field1Len
      ,MAX(LEN(Field2)) Field2Len
      ,MAX(LEN(Field3)) Field3Len
FROM Table_Name

这将为您提供并大致了解每列需要的长度,使用您已拥有数据的表中的列名创建新表,然后删除该行,然后只需插入新表像这样的东西,,,

INSERT INTO New_Table (fldBP, fldDialysis, fldMed, fldInventory, fldDoctors,....)
SELECT Field1, Field2, Field3, Field4, Field5, Field6,......
FROM Table_Name

/*Finally Drop the stagging\Bad table*/

DROP TABLE Table_Name
相关问题