如何在SQL Server 2008中使用新名称创建重复的表

时间:2010-07-13 21:44:10

标签: sql sql-server tsql sql-server-2008

如何在SQL Server 2008中创建仅使用新名称重复的结构的重复表?

我有45个字段的表,所以我想创建具有相同结构但新名称的新表。

9 个答案:

答案 0 :(得分:46)

右键单击SQL Management Studio中的表。

选择脚本...创建到...新查询窗口。

这将生成一个脚本,以在新的查询窗口中重新创建表。

将脚本中的表名更改为您希望命名新表的名称。

执行脚本。

答案 1 :(得分:33)

SELECT * 
INTO target
FROM  source
WHERE 1 = 2

答案 2 :(得分:5)

在这里,我将向您展示两种不同的实现方式:

<强>首先

如果您只需要创建一个重复的表,那么只需运行命令:

SELECT top 0 * INTO [dbo].[DuplicateTable]
FROM [dbo].[MainTable]

当然,它并没有完全奏效。约束不会被复制,主键或默认值也不会被复制。该命令仅创建具有相同列结构的新表,并且如果要将数据插入新表中。

第二(推荐):

但是如果你想要复制具有所有约束条件的表格。密钥遵循以下步骤:

  1. 在SQL Management Studio中打开数据库。
  2. 右键单击要复制的表。
  3. 选择脚本表为 - &gt;创建到 - &gt;新查询编辑器窗口。这将生成一个脚本,以在新的查询窗口中重新创建表。
  4. 更改表名和相关键&amp;脚本中的约束。
  5. 执行脚本。

答案 3 :(得分:1)

用于从现有表格创建新表格

SELECT * INTO New_table FROM Old_Table

用于从一个表中插入另一个表的数据

插入Table_Name2,从Table_Name1

中选择top 1 *

答案 4 :(得分:1)

SELECT * INTO table2 FROM table1;

答案 5 :(得分:0)

  SELECT * INTO newtable FROM oldtable where 1=2


  where 1=2, this statement is use when only Copy complete structure of a 
  table in sql without Copying data of table

 SELECT * INTO newtable FROM oldtable 
 create table with data you can use this statement 

答案 6 :(得分:0)

我使用了此查询,它是使用现有数据创建的新表。

查询:从[existingtable]的[newtablename]中选择*

这是Microsoft指示中的链接。 https://docs.microsoft.com/en-us/sql/relational-databases/tables/duplicate-tables?view=sql-server-2017

答案 7 :(得分:0)

在SSMS中,右键单击所需的表>脚本为>创建至>新查询
-更改表的名称(例如table2)
-更改表的PK键(例如PK_table2)

USE [NAMEDB]
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[table_2](
[id] [int] NOT NULL,
[name] [varchar](50) NULL,
CONSTRAINT [PK_table_2] PRIMARY KEY CLUSTERED 
(
[reference] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = 
OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
ALLOW_PAGE_LOCKS = ON, 
OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

答案 8 :(得分:-1)

我的SQL Server Management Studio一直在问我如何让它变得更好,我有个主意!能够突出显示一个表然后,ctrl C,ctrl V!会是伟大的,同时回答这个问题!