首页 > 数据库 >SQL 用SP检查两个表中否有内容重复

SQL 用SP检查两个表中否有内容重复

时间:2024-09-07 13:03:36浏览次数:15  
标签:Table2 Table1 Fields SP SqlQuery SQL 表中否 NVARCHAR

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

相关文章

  • SQL 自定义函数 生成网卡地址,MES开发中经常会用到的
    SQL自定义函数生成网卡地址,MES开发中经常会用到的ALTERFunction[dbo].[Fun_ReleaseMACadd]( @CurrentSeqNovarchar(6))Returnsvarchar(18)-------------------------------------------------------------------------------------------------As--------------......
  • 基于Java+SpringBoot+Mysql在线聊天系统功能设计与实现三
    一、前言介绍:1.1项目摘要随着互联网技术的飞速发展,人们的社交需求日益多样化。传统的面对面交流方式已经无法满足现代人随时随地沟通的需求。因此,开发一个高效、便捷的在线聊天系统成为了满足人们社交需求的重要途径。随着即时通讯技术的不断成熟,如WebSocket、HTTP/2等协......
  • 基于Java+SpringBoot+Mysql在线聊天系统功能设计与实现四
    一、前言介绍:1.1项目摘要随着互联网技术的飞速发展,人们的社交需求日益多样化。传统的面对面交流方式已经无法满足现代人随时随地沟通的需求。因此,开发一个高效、便捷的在线聊天系统成为了满足人们社交需求的重要途径。随着即时通讯技术的不断成熟,如WebSocket、HTTP/2等协......
  • DataX实战之MongoDB导入数据到mysql——打包jar包时出现Could not find goal assembly
    使用idea打开我们本地的datax源码或者下载的源码下载地址:https://github.com/alibaba/DataX/blob/master/mongodbreader/doc/mongodbreader.md进行编译,打包上传:指定mongodbreader模块以及它所依赖的模块进行打包【推荐使用,大约只运行3分钟左右】mvn-Ucleanpac......
  • 【MySQL】MySQL下载安装及配置
    MySQL版本MySQLCommunityServer社区版本,开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户。MySQLEnterpriseEdition企业版本,需付费,不能在线下载,可以试用30天。提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。MySQ......
  • SprinBoot+Vue餐饮连锁店管理系统的设计与实现
    目录1项目介绍2项目截图3核心代码3.1Controller3.2Service3.3Dao3.4application.yml3.5SpringbootApplication3.5Vue4数据库表设计5文档参考6计算机毕设选题推荐7源码获取1项目介绍博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w......
  • linux mysql忘记root密码了
    动一下小手点一下赞。谢谢!你的赞就是我更新的动力。在使用Linux系统和MySQL数据库时,有时候会遇到一个比较棘手的问题,那就是忘记了root密码。当忘记了root密码后,用户就无法再进行数据库操作,这对于系统和数据的安全造成了一定的影响。但是,不必担心,因为有一些方法可以帮助你重置MySQL......
  • 基于springboot的工程监理管理系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要随着经济的发展和信息技术的普及,国内中小企业正面临巨大的挑战。如果中小企业不能及时调整其管理流程和战略规划,将有可能被市场淘汰。特别是对于需要处理大量人员信息和业务信息的中小企业,如果不能利用信息系统进行高效的管理和利用,将严重影响其发展,降低管理效率。基于Spri......
  • mysql在linux安装
    在Linux上安装MySQL5.7版本的步骤可以分为多个部分,包括下载、安装、配置以及启动MySQL服务。以下是一个详细的步骤指南:一、下载MySQL5.7安装包访问MySQL官方网站:前往MySQL官方网站下载适用于Linux的MySQL5.7安装包。通常,你会找到如mysql-5.7.xx-linux-glibc2.xx-x86_64.tar.......
  • MySQL - Disable autocommit globally
    autocommitCommand-LineFormat--autocommit[={OFF|ON}]SystemVariableautocommitScopeGlobal,SessionDynamicYesSET_VAR HintAppliesNoTypeBooleanDefaultValueONTheautocommitmode.Ifsetto1,allchangestoatabletakeeffectim......