Use SQL Server cursor to delete duplicate records

Source: Internet
Author: User
During this time, the project needs to import the original data to the new database, and the duplicate data needs to be deleted. I use the cursor method to solve this problem. The SQL statement is as follows to avoid forgetting. Code

-- Delete duplicate data. Only the records with the largest number are retained.
Declare Mycursor Cursor  
For
Select Addinip From Testdb Group   By Addinip Having   Count (Addinip) > 1
Open Mycursor
Declare   @ IP Sysname
Fetch   Next   From Mycursor Into   @ IP
While ( @ Fetch_status = 0 )
Begin
Print   @ IP
Declare   @ Aid   Int  
Select   @ Aid = Max (Autoid) From Testdb Where Addinip = @ IP
Print   @ Aid
-- Delete duplicate data. Only the record with the largest record number is retained.
Delete   From Testdb Where Autoid <>   @ Aid   And Addinip = @ IP

Fetch Next FromMycursorInto @ IP
End
CloseMycursor
DeallocateMycursor

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.