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

Sql 复制表约束/键以及数据和结构,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有表“TableA”,我想复制它“TableA_copy”,当我使用下面的脚本时,它创建了表和数据,但没有复制约束,是否可以复制约束以及结构和数据 SELECT * INTO TableA_Copy FROM TableA 注意:我正在使用SQL Server 2016 右键单击数据库并转到任务->生成脚本 选择您想要的表TableA,转到下一步,然后使用ynder高级选项选择数据和模式 保存脚本或将其放在新的查询窗口中 生成脚本后,用TableA\u copy替换TableA 这样,您将获

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

SELECT * INTO TableA_Copy FROM TableA
注意:我正在使用SQL Server 2016

  • 右键单击数据库并转到任务->生成脚本
  • 选择您想要的表TableA,转到下一步,然后使用ynder高级选项选择数据和模式
  • 保存脚本或将其放在新的查询窗口中
  • 生成脚本后,用TableA\u copy替换TableA
  • 这样,您将获得数据、模式和所有约束。请记住更改约束的名称以避免任何错误

  • 右键单击数据库并转到任务->生成脚本
  • 选择您想要的表TableA,转到下一步,然后使用ynder高级选项选择数据和模式
  • 保存脚本或将其放在新的查询窗口中
  • 生成脚本后,用TableA\u copy替换TableA

  • 这样,您将获得数据、模式和所有约束。请记住更改约束的名称以避免任何错误

    如果您的意思是以编程方式,那么是的,在tsql中有许多方法可以通过使用信息模式视图来实现这一点。表/列所需的特定信息是INFORMATION\u SCHEMA.TABLES和INFORMATION\u SCHEMA.columns。对于约束,您可以使用信息\u SCHEMA.CONSTRAINT\u COLUMN\u USAGE,它将为您提供所有检查约束的PK和FKs以及信息\u SCHEMA.CHECK\u约束


    使用这些,您可以重新生成表complete,以便按照上面的指示使用。

    如果您指的是编程方式,那么是的,在tsql中有许多方法可以通过使用信息模式视图来实现这一点。表/列所需的特定信息是INFORMATION\u SCHEMA.TABLES和INFORMATION\u SCHEMA.columns。对于约束,您可以使用信息\u SCHEMA.CONSTRAINT\u COLUMN\u USAGE,它将为您提供所有检查约束的PK和FKs以及信息\u SCHEMA.CHECK\u约束


    使用这些,您可以重建表,完成,以便按照上面的指示使用。

    您可以编写tableA脚本,更改对象名称,将
    tableA
    替换为
    tableA\u Copy
    ,运行脚本创建新表,然后用数据填充它,您可以编写tableA脚本,更改对象名称将
    TableA
    替换为
    TableA\u Copy
    ,运行脚本创建新对象,然后用数据填充