在SQL Server中复制表

时间:2010-08-26 12:01:43

标签: sql sql-server tsql

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

4 个答案:

答案 0 :(得分:1)

  • 根据表
  • 生成CREATE脚本
  • 修改脚本以创建不同的表名称
  • 从源表中选择所有内容执行INSERT

答案 1 :(得分:0)

不,不是真的,你必须编写脚本,然后更改名称

你可以这样做

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

但它不会复制任何约束

答案 2 :(得分:0)

这不是最优雅的解决方案,但您可以使用Microsoft提供的免费Database Publishing Wizard等工具。 它创建了表定义的SQL脚本,包括数据并包含索引和内容。但您必须手动更改脚本以更改表名...

答案 3 :(得分:0)

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

所以,您可以执行以下操作:

  1. 使用SQLMenace所说的数据创建新表(从OldTable中选择*到NewT​​able)
  2. 通过更改此SQL脚本添加约束,索引和内容