Heim  >  Artikel  >  Datenbank  >  消除sql2000里的重复数据

消除sql2000里的重复数据

WBOY
WBOYOriginal
2016-06-07 14:55:011168Durchsuche

游标版 declare @id1 int,@oldid int,@e_REcordid int ,@Olde_REcordid int DECLARE price CURSOR FOR SELECT id ,E_recordId FROM evaeve order by E_recordId desc OPEN price FETCH NEXT FROM price into @oldid,@Olde_REcordid while @@fetch_status = 0

游标版
declare @id1 int,@oldid int,@e_REcordid int ,@Olde_REcordid int
DECLARE price CURSOR
FOR SELECT id ,E_recordId FROM evaeve order by  E_recordId desc
OPEN price
FETCH NEXT FROM price  into @oldid,@Olde_REcordid
while @@fetch_status  = 0
begin
FETCH NEXT FROM price  
into @id1,@e_REcordid

if @Olde_REcordid=@e_REcordid
BEGIN
  delete from evaeve where id=@id1
end
set @oldid=@id1
set @Olde_REcordid=@e_REcordid
end 
close price
DEALLOCATE price

sql语句版
delete   from evaeve where id not in(  select max(id)  from evaeve group by   E_RecordID)

SQL Server
declare @id1 int,@oldid int,@e_REcordid int ,@Olde_REcordid int
DECLARE price CURSOR
FOR SELECT id ,E_recordId FROM evaeve order by  E_recordId desc
OPEN price
FETCH NEXT FROM price  into @oldid,@Olde_REcordid
while @@fetch_status  = 0
begin
FETCH NEXT FROM price   
into @id1,@e_REcordid

if @Olde_REcordid=@e_REcordid
BEGIN
  delete from evaeve where id=@id1
end 
set @oldid=@id1
set @Olde_REcordid=@e_REcordid
end  
close price 
DEALLOCATE price


delete   from evaeve where id not in(  select max(id)  from evaeve group by   E_RecordID)
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn