我有一个名为Table1
Column Name Data type Max length Precision Scale is_nullable Primary Key Price float 8 53 0 1 0 Name varchar 180 0 0 1 0 Id_no int 4 10 0 1 1 DOB date 3 10 0 1 0
我需要创建另一个名为Table2
的表,其中表1的列名行(以及数据类型,最大长度等属性)应该是另一个表的列,例如
Table 2 Price Name Id_No DOB
(请注意,create table query也应考虑属性)
答案 0 :(得分:0)
您可以使用select into
创建表格的副本:
select *
into NewTable
from OldTable
答案 1 :(得分:0)
create table table2
as
select * form table1;
答案 2 :(得分: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