复制SQL Server中的表

问题描述:

是否可以将表(具有定义,约束,标识)复制到新表中?复制SQL Server中的表

没有,真的没有,你要剧本出来,然后更改名称

你可以做到这一点

select * into NewTable 
FROM OldTable 
WHERE 1 =2 --if you only want the table without data 

,但它不会复制任何限制

+0

所以我们不能没有事先创建新的表定义? – selvaraj 2010-08-26 12:11:07

+0

这将创建表定义,但它不会有任何的约束,键等等 – SQLMenace 2010-08-26 12:14:22

  • 生成基于表的CREATE脚本
  • 修改脚本以创建不同的表名
  • 从源表

这不是最优雅的解决方案都选择执行插入,但你可以使用一个工具,如微软的免费Database Publishing Wizard
它创建了包含数据并包含索引和内容的表定义的SQL脚本。但你将不得不手动改变脚本来改变表名...

另一种可能性:
我刚在SO上发现了this old answer。 此脚本是一个示例,用于脚本所有表的约束,但您可以轻松更改它以仅选择“您的”表的约束条件。

所以,你可以做到以下几点:

  1. (从OldTable选择*到newtable中)创建新表与所述像SQLMenace数据
  2. 通过改变这个SQL脚本
  3. 添加约束,索引和东西