我有一张名为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
(请注意,创建表查询还应考虑到属性)
我有一张名为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
(请注意,创建表查询还应考虑到属性)
您可以动态创建 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
您可以使用以下命令创建表的副本select into
:
select *
into NewTable
from OldTable
create table table2
as
select * form table1;