如何在SQL Server 2008中创建仅使用新名称重复的结构的重复表?
我有45个字段的表,所以我想创建具有相同结构但新名称的新表。
答案 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]
当然,它并没有完全奏效。约束不会被复制,主键或默认值也不会被复制。该命令仅创建具有相同列结构的新表,并且如果要将数据插入新表中。
第二(推荐):
但是如果你想要复制具有所有约束条件的表格。密钥遵循以下步骤:
答案 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!会是伟大的,同时回答这个问题!