首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

非从增列复制数据

2012-09-14 
非自增列复制数据insert into[Rnd].[dbo].[R_RndTitle](Id,Title) select (select MAX(Id)+1 From[Rnd].[d

非自增列复制数据
insert into[Rnd].[dbo].[R_RndTitle](Id,Title) select (select MAX(Id)+1 From[Rnd].[dbo].[R_RndTitle]),Title from [1111].[dbo].[R_RndTitle] aa where not exists(select 0 from [Rnd].[dbo].[R_RndTitle] bb where bb.title=aa.title)

2表结构一致,合并数据。ID int 不是自增列。  


怎么改上面的语句

[解决办法]

SQL code
--你的照着改下就好了,先把第一张表中最大的id取出来,然后数据库2中的按rownumber排下序+最大的id新增到你第一张表就好了declare @R_RndTitle1 table(id int,title varchar(20))declare @R_RndTitle2 table(id int,title varchar(20))insert into @R_RndTitle1 values(3,'20');insert into @R_RndTitle2 values(1,'20');insert into @R_RndTitle2 values(2,'30');--先取出最大的iddeclare @id int select @id=max(id) from @R_RndTitle1--将不存在的新增进来insert into @R_RndTitle1select row_number() over(order by id)+@id rn,title from @R_RndTitle2 b     where not exists (select 1 from @R_RndTitle1 c where b.title=c.title)select * from @R_RndTitle1/*id          title----------- --------------------3           204           30*/ 

热点排行