可能重复:
SQL Server: How do you return the column names from a table?
我想知道是否有办法将表格中的列名插入另一个表格中的字段。
我有一个新表,其中旧表的列名现在是新表中的参数。
即
old table
[id] [name] [name2] [name3]
1 x x x
new table
[id] [name type]
1 name
2 name2
3 name3
答案 0 :(得分:1)
以下查询将返回指定表的列:
SELECT COL.COLUMN_NAME
FROM
information_schema.columns COL
WHERE
(COL.TABLE_SCHEMA = 'schema_name') AND
(CO.TABLE_NAME = 'table_name')
您可以使用结果集并将其插入临时表中,或者将其用于您需要的任何内容。
注意:我在SQL Server 2008上运行它,但它也应该在2005上运行。
答案 1 :(得分:1)
INSERT INTO NewTable
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'OldTable'
答案 2 :(得分:1)
您可以SELECT INTO
新表或临时表。以下示例是临时表:
SELECT COLUMN_NAME
into #temp
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'yourSchema' AND
TABLE_NAME = 'yourTable'
select *
from #temp
drop table #temp