从select * into复制表约束

时间:2014-07-30 17:04:01

标签: sql sql-server select constraints select-into

select * into B from A是否也复制B对A的约束?如果没有,那么我该如何复制约束?

3 个答案:

答案 0 :(得分:1)

不,不在SQL-Server中。您需要手动指定新表上的约束和索引。如果您正在使用SSMS,那么使用Script As... Create To功能可以获得一个示例脚本来创建具有相同约束和结构的新表。

答案 1 :(得分:1)

您不能直接将约束从一个表复制到另一个表,首先应该使用索引和约束复制表Structure,以执行此操作

请按照以下说明操作:

  1. 在SSMS中右键单击表格,脚本创建。

  2. 将生成的脚本中的名称更改为NewTable

  3. 从OldTable插入NewTable select * - 请注意,如果Old足够大,它可能会很慢。

答案 2 :(得分:0)

它不会复制约束。如果要使用相同的约束设置两个表,则必须通过运行create table / constraint语句手动完成。您可以让sql server从现有表创建sql语句。使用Sql Server Studio,在对象资源管理器中右键单击该表并选择“脚本为”,然后选择所需的选项,然后根据需要更改表名。