SQL Server 复制表及数据的两种方法

1、新表不存在(即复制数据的同时创建与旧表相同结构的新表):

1 select [col1,col2,col3...] into new_table from old_table where 1=1   

2、新表已存在,从旧表从插入选择的数据(注意:表的[主键]不要复制,因为具有唯一性,否则:Sql Server提示“当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'xxxxxx' 中的标识列插入显式值”)

1 insert into table1(col1,col2,col3,...)  
2 select [col1,col2,col3...] from table2  

来个复杂一点的

-- 从 Acadsoc.COM.CN 库复制
set IDENTITY_INSERT [uc_Program]  on  ;
INSERT INTO [Acadsoc.COM.CN.B2B].[dbo].[uc_Program]
           ([pId]
           ,[program_code]
           ,[program_name]
           ,[url]
           ,[show_in_menu]
           ,[parentId]
           ,[pathindex]
           ,[had_child]
           ,[show_sort]
           ,[icon])
SELECT [pId]
      ,[program_code]
      ,[program_name]
      ,[url]
      ,[show_in_menu]
      ,[parentId]
      ,[pathindex]
      ,[had_child]
      ,[show_sort]
      ,[icon]
  FROM [Acadsoc.COM.CN].[dbo].[uc_Program] where pid IN (154);
set IDENTITY_INSERT [uc_Program]  off  ;

IDENTITY_INSERT [tbale] on;

IDENTITY_INSERT [tbale] off;为开启关闭表中的标识列(可以理解为id自增列之类)

posted @ 2017-06-08 11:05  Cein  阅读(13529)  评论(2编辑  收藏  举报