ブログ、Insus.NETは、処理機能は、レコードを複製共有しています。このような「として、重複データレコードに行を削除」https://www.cnblogs.com/insus/p/10890148.html
今日まで、動的なストアドプロシージャにこの適応。将来は、どちらかのテーブルのためのものであってもよいです。
ONのSET ANSI_NULLS GO ON SET QUOTED_IDENTIFIER GO - ======================================== ===== - 著者:Insus.NET -ブログます。https:// insus.cnblogs.com -作成日:2019年 - 05 - 31 -更新日:2019年 - 05 - 31 - 説明:删除多个重复记录 - ============================================ = PROCEDURE [DBO] [usp_Delete_Multiple_Duplicate_Record](CREATE。 @TABLE_NAME SYSNAME、 @Refer_Column_lists NVARCHAR(MAX)を - ' [A]、[B]、[C] [ ) AS BEGIN DECLAREの@queryのNVARCHAR(MAX) = Nを' ; cte_temp_table(rank_numと、' + @Refer_Column_lists + ' ) AS( ROW_NUMBER(SELECT)BY OVER(PARTITION ' + @Refer_Column_lists + ' BY ORDER ' + @Refer_Column_lists +を')rank_num、AS ' + @Refer_Column_lists + ' FROM ' + + @TABLE_NAME ' ) cte_temp_table WHERE rank_num FROM DELETE > 1 。 " END
デモ:
IF OBJECT_ID(' tempdb.dbo。#パートは')IS NOT NULL のDROP TABLE #Part CREATE TABLEは#Part( [ ID ] INT 、 [ アイテム] NVARCHAR(40 ) ) GO INSERT INTO #Part([ ID ]、[ 項目])VALUES (23394、' I32-GG443-QT0098-0001 ' )、 (45008、 'I38-AA321-WS0098-0506'), (14350,'K38-12321-5456UD-3493'), (64582,'872-RTDE3-Q459PW-2323'), (23545,'098-SSSS1-WS0098-5526'), (80075,'B78-F1H2Y-5456UD-2530'), (53567,'PO0-7G7G7-JJY098-0077'), (44349,'54F-ART43-6545NN-2514'), (36574,'X3C-SDEWE-3ER808-8764'), (36574,'RVC-43ASE-H43QWW-9753'), (14350,'K38-12321-5456UD-3493'), (64582,'872-RTDE3-Q459PW-2323'), (80075,'B78-F1H2Y-5456UD-2530'), (53567,'PO0-7G7G7-JJY098-0077'), (44349,'54F-ART43-6545NN-2514'), (44349,'54F-ART43-6545NN-2514'), (36574,'X3C-SDEWE-3ER808-8764') GO EXECUTE [dbo].[usp_Delete_Multiple_Duplicate_Record] #Part,'[ID],[Item]' SELECT * FROM #Part