SQL 用SP检查两个表中否有内容重复
ALTER PROCEDURE [dbo].[CheckDuplicateValues] @ShowType NVARCHAR(5), @Table1 NVARCHAR(128), @Table2 NVARCHAR(128), @Fields NVARCHAR(MAX) AS BEGIN -- 构建动态SQL查询语句 DECLARE @SqlQuery NVARCHAR(MAX) if @ShowType='1' BEGIN ---以下语句是显示@Table1中的记录是否在表@Table2中,如果有相同记录则显示出两个表中有重复的记录 SET @SqlQuery = 'SELECT ' + @Fields + ' FROM ' + QUOTENAME(@Table1) + ' intersect SELECT ' +@Fields + ' FROM ' + QUOTENAME(@Table2) end else BEGIN ---以下语句是显示@Table1中的值是否在表@Table2如不在将显示出@Table1中有而@Table2不存在的记录 SET @SqlQuery = 'SELECT ' + @Fields + ' FROM ' + QUOTENAME(@Table1) + ' EXCEPT SELECT ' + @Fields + ' FROM ' + QUOTENAME(@Table2) end -- 执行动态SQL查询 EXEC sp_executesql @SqlQuery END --EXEC CheckDuplicateValues 'YourTable1', 'YourTable2', 'Field1, Field2, Field3'--调用执行
标签:Table2,Table1,Fields,SP,SqlQuery,SQL,表中否,NVARCHAR From: https://www.cnblogs.com/dudian/p/18401570