复制表约束/键以及数据和结构

时间:2016-10-01 00:12:37

标签: sql sql-server tsql

我有表“TableA”,我想复制它“TableA_Copy”,当我使用下面的脚本时,它会创建表和数据,但不会复制约束,是否可以复制约束和结构和数据

SELECT * INTO TableA_Copy FROM TableA

注意我正在使用SQL Server 2016

2 个答案:

答案 0 :(得分:1)

  1. 右键单击数据库并转到任务 - >生成脚本。
  2. 选择您想要TableA的表,转到下一步,然后选择高级选项选择数据和架构。
  3. 保存脚本或将其保存在新的查询窗口中。
  4. 生成脚本后,将TableA替换为TableA_copy
  5. 这样您将获得数据,架构和所有约束。请记住更改约束的名称以避免任何错误。

答案 1 :(得分:1)

如果你的意思是编程,那么是的,tsql中有很多方法可以通过使用INFORMATION_SCHEMA视图来实现这一点。表/列所需的特定元素是INFORMATION_SCHEMA.TABLES和INFORMATION_SCHEMA.COLUMNS。对于约束,您可以使用INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE,它将为您提供所有检查约束的PK和FK以及INFORMATION_SCHEMA.CHECK_CONSTRAINTS。

使用这些,你可以重建表格,完成,如上所示。