首页 > 数据库 >Sql 数据存在就返回匹配数据 不存在就新增数据

Sql 数据存在就返回匹配数据 不存在就新增数据

时间:2024-09-19 18:01:25浏览次数:1  
标签:存在 Code 匹配 PId Frm Sor User Sql 数据

本次样例的执行内容是,匹配就返回匹配数据的id,不匹配就新增数据

方式一

 DECLARE @userId INT
 if not EXISTS(select 1 from dbo.User where PId=4 AND Code='XX')
 BEGIN
  INSERT INTO dbo.User(PId,Code) VALUES(4,'XX');
  SELECT @userId=IDENT_CURRENT('User');
 END
 ELSE
  BEGIN SELECT  @userId= id from dbo.User where PId=4 AND PlatCode='XX' 
END select @userId;

 

方式二

Merge into dbo.User as Sor using (SELECT 4 as PId,N'XX' as Code) As Frm on Sor.PId=Frm.PId and Sor.Code=Frm.Code
WHEN MATCHED THEN
UPDATE set Sor.Code=Sor.Code
WHEN NOT MATCHED 
THEN INSERT (PId,Code) values(Frm.PId,Frm.Code) 
output inserted.Id;

注:这种方式是在匹配时强制执行了一次无效的更新,以此来返回匹配数据的id,不太友好,推荐使用方式一

标签:存在,Code,匹配,PId,Frm,Sor,User,Sql,数据
From: https://www.cnblogs.com/sugarwxx/p/18421097

相关文章

  • 基于SpringBoot+Vue+MySQL的智能物流管理系统
    系统展示系统背景  随着信息技术的飞速发展和电子商务的蓬勃兴起,智能物流管理系统的需求日益迫切。传统的物流管理方式已难以满足高效、精准、实时的管理需求。因此,基于SpringBoot、Vue和MySQL的智能物流管理系统应运而生。该系统旨在通过现代化的技术手段,实现物......
  • 单细胞数据 存储方式汇总
    (单细胞下游分析——不同类型的数据读入,与部分数据类型的转化).h5ad(anndata数据格式)10x_mtx(cellranger输出,三个文件)就是cellranger上游比对分析产生的3个文件:├──xxx_feature_bc_matrix│├──barcodes.tsv.gz:细胞标签(barcode)│├──features.tsv.gz:基因ID(......
  • 2024Mysql And Redis基础与进阶操作系列(6)作者——LJS[含MySQL 多表之一对一/多;多对多;
    MySQL多表操作1多表关系简介1.1一对一关系比如1.2一对多/多对一关系比如:实现规则:1.3多对多关系举例:规则:2.多表联合查询简介多表查询有以下分类知识补充——笛卡尔积(了解即可)交叉连接查询[产生笛卡尔积]内连接查询(使用的关键字innerjoin--inner可以省......
  • 支持 128TB 超大存储,GaussDB (for MySQL) 如何轻松应对海量数据挑战
    本文分享自华为云社区《【选择GaussDB(forMySQL)的十大理由】之二:128TB超大存储》,作者:GaussDB数据库。大数据时代的挑战随着互联网、大数据等行业的迅猛发展,企业的数据流量呈现爆炸式增长,数据库作为数据存储的核心,其承载的数据量越来越大。近十年,企业数据量从GB发展到TB,甚......
  • mysql 将A库的表名和表字段注释,迁移到另外一个库中,生成alter 语句
    表备注--获取用于添加表备注的SQL语句SELECTCONCAT('ALTERTABLE目标数据库名.',TABLE_NAME,'COMMENT=\'',TABLE_COMMENT,'\';')ASalter_table_comment_sqlFROMINFORMATION_SCHEMA.TABLESWHERETABLE_SCHEMA='......
  • GBase 8s数据库连接 – Perl(DBD::ODBC)
    软件需求:1,GBase8sCSDK2,perl-5.16.3及perl-devel-5.16.33,unixODBC-2.3.14,DBD-ODBC-1.60###1,系统环境确认####1.1perl、perl-devel及unixODBC版本Linux下root用户通过rpm确认perl、perl-devel,unixODBC、unixODBC-devel均已经安装,如下:[root@rhel7u6~]#rpm-qaperlperl......
  • MySQL零基础入门教程-1 mysql安装卸载、启动关闭、常用命令、sql语句分类(非常详细),基础
    教程来源:B站视频BV1Vy4y1z7EX001-数据库概述_哔哩哔哩_bilibili我自己听讲收集整理的课程的完整笔记,供大家学习交流吧:夸克网盘分享本文内容为完整笔记的第一篇一、数据库概述1、什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么?P1、P2数据库英文单词DataBase,简称DB,......
  • easyExcel导出大数据量EXCEL文件,前端实现进度条
    需求:页面点击导出,先按照页面条件去数据库查询,然后将查询到的数据导出。问题:由于查询特别耗时,所以点击之后页面会看上去没有反应,就在点击之后在页面增加了一个进度条,等待后盾查询结束之后,导出时,进度条会显示导出进度,导出结束之后进度条会消失。效果如下:注意点:后端需要在响应......
  • VLDB来啦!企业上云“搭子”天翼云TeleDB数据库有话说
    近日,VLDB2024(InternationalConferenceonVeryLargeDataBases)在广州隆重举行,全球数据库领域顶尖学者汇聚一堂,围绕数据库行业前沿议题展开探讨,带来一场跨越东西方、覆盖产学研的交流盛宴。作为数据库领域三大国际顶级学术会议之一,VLDB致力于展示和分享数据库领域的最新研究成果......
  • 支持128TB超大存储,GaussDB(for MySQL)如何轻松应对海量数据挑战
    摘要:华为云数据库GaussDB(forMySQL)基于华为最新一代DFV存储,采用计算存储分离架构,最多支持128TB的海量存储。本文分享自华为云社区《【选择GaussDB(forMySQL)的十大理由】之二:128TB超大存储》,作者:GaussDB数据库。大数据时代的挑战随着互联网、大数据等行业的迅猛发展,企业的数据......