5

我有一张名为Table1

列名 数据类型 最大长度 精度 刻度 is_nullable 主键
    价格浮动 8 53 0 1 0
    名称 varchar 180 0 0 1 0
    Id_no 整数 4 10 0 1 1
    出生日期 3 10 0 1 0

我需要创建另一个表Table2,其中表 1 的列名行(以及数据类型、最大长度等属性)应该是另一个表的列,例如

表 2
价格名称 Id_No DOB

(请注意,创建表查询还应考虑到属性)

4

3 回答 3

0

您可以动态创建 SQL 语句,然后运行该命令。

DECLARE @dsql nvarchar(max) = N''

SELECT @dsql += QUOTENAME([Column Name]) + ' ' + 
       [Data type] + 
        + CASE WHEN [Data type] = 'varchar' 
               THEN '(' + CAST([Max length] AS nvarchar(4)) + ')' ELSE '' END + ','        
FROM Table1

SELECT @dsql = 'CREATE TABLE Table2 (' + LEFT(@dsql, LEN(@dsql) - 1) + ')'
EXEC sp_executesql @dsql
于 2013-01-24T15:09:49.543 回答
0

您可以使用以下命令创建表的副本select into

select  *
into    NewTable
from    OldTable
于 2013-01-24T13:09:07.737 回答
0
create table table2
as
select * form table1;
于 2013-01-24T13:14:12.650 回答