Sql 使用列插入到命令中

Sql 使用列插入到命令中,sql,sql-server-2005,Sql,Sql Server 2005,可能重复: 我想知道是否有办法将表上的列名插入到另一个表的字段中 我有一个新表,其中旧表的列名现在是新表中的一个参数 即 以下查询将返回指定表的列: SELECT COL.COLUMN_NAME FROM information_schema.columns COL WHERE (COL.TABLE_SCHEMA = 'schema_name') AND (CO.TABLE_NAME = 'table_name') 您可以使用结果集并将其插入到临时表中,或者根据需要

可能重复:

我想知道是否有办法将表上的列名插入到另一个表的字段中

我有一个新表,其中旧表的列名现在是新表中的一个参数


以下查询将返回指定表的列:

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 COLUMN_NAME
into #temp
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'yourSchema' AND
    TABLE_NAME = 'yourTable'

select *
from #temp

drop table #temp

伟大的我没想过那种方法。谢谢迭戈!
SELECT COLUMN_NAME
into #temp
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'yourSchema' AND
    TABLE_NAME = 'yourTable'

select *
from #temp

drop table #temp