2017-12-03 53 views
1

如何创建没有数据的表的克隆副本?因为我只是想复制表格而不是数据的定义。在SQL Server中创建没有数据的表的克隆副本

下面我试过,但它是将数据复制以及

Select * 
into Clone_Supplier 
from Supplier 
+0

我看到你已经接受了答案。你的问题没有说清楚是否希望表的整个定义,包括约束(主键,默认值,外键,检查,...),索引,触发器在桌子上,依此类推。请注意,您所接受的答案不会产生任何的限制,不会有任何的指标,不会有任何适用于原始表的触发器。 –

回答

0

复制从选定的表从选择的表

Select Top 0 * into NewTable from OldTable 

复制一些列的所有列

Select Top 0 Col1,Col2 into NewTable from OldTable 

将所有(数据和结构)

Select * into NewTable from OldTable 
3

你可以添加WHERE 1=2只得到结构:

Select * 
into Clone_Supplier 
from Supplier 
where 1=2; 

这不会是虽然精确副本:

  • 无约束
  • 无索引
  • 没有触发
+1

非常感谢:) –

+0

我该如何复制索引和标识? –

+1

@SqlLearner你可以使用[生成SQL Server Management Studio中的脚本(https://stackoverflow.com/questions/9429902/generate-script-in-sql-server-management-studio),然后重命名表和依赖新名称。 – lad2025

0

你只需要添加一个假条件。所以它不会返回任何数据,您将创建没有数据的表的克隆副本。您可以使用下面的查询

Select * into Clone_Supplier from Supplier WHERE 1=2 
+1

感谢评论,但它已经回答了:) –

3

它是有用的表格,生成和新表

Select Top 0 * into tblNew from tblOld 
+1

喔这个人是非常有用的。谢谢 :) –

0

解决方案查询:

SELECT TOP 0 * INTO newTable1 FROM oldTable1; 
相关问题