可能重複:
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
可能重複:
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
下面的查詢將返回指定表的列:
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年。
INSERT INTO NewTable
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'OldTable'
您可以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
太棒了!沒有想到這種方法。感謝迭戈! – user1512593 2012-07-25 22:31:55