当前位置: 首页 > news >正文

谷歌浏览器下载安装2022关键词优化的策略有哪些

谷歌浏览器下载安装2022,关键词优化的策略有哪些,住房城乡建设部门户网站烟气脱硫,建设通网站上线merge语句使用时不时地#xff0c;由于以下任何原因#xff0c;我们不得不将INSERT与UPDATE区分开来感到尴尬#xff1a; 我们必须至少发表两个声明 我们必须考虑性能 我们必须考虑比赛条件 我们必须在[UPDATE; 如果UPDATE_COUNT 0 THEN INSERT]和[INSERT; 如果例外然后… merge语句使用 时不时地由于以下任何原因我们不得不将INSERT与UPDATE区分开来感到尴尬 我们必须至少发表两个声明 我们必须考虑性能 我们必须考虑比赛条件 我们必须在[UPDATE; 如果UPDATE_COUNT 0 THEN INSERT]和[INSERT; 如果例外然后更新] 我们必须对每个更新/插入的记录执行一次这些语句 总而言之这是错误和挫败感的重要根源。 同时使用SQL MERGE语句可能是如此简单 MERGE的典型情况 在许多其他用例中当处理多对多关系时MERGE语句可能会派上用场。 假设我们有以下架构 CREATE TABLE documents (id NUMBER(7) NOT NULL,CONSTRAINT docu_id PRIMARY KEY (id));CREATE TABLE persons (id NUMBER(7) NOT NULL,CONSTRAINT pers_id PRIMARY KEY (id));CREATE TABLE document_person (docu_id NUMBER(7) NOT NULL,pers_id NUMBER(7) NOT NULL,flag NUMBER(1) NULL,CONSTRAINT docu_pers_pk PRIMARY KEY (docu_id, pers_id),CONSTRAINT docu_pers_fk_docu FOREIGN KEY (docu_id) REFERENCES documents(id),CONSTRAINT docu_pers_fk_pers FOREIGN KEY (pers_id) REFERENCES persons(id)); 上表用于建模哪个人已阅读flag 1/已删除flag 2哪个文档。 为简单起见通常将“ document_person”实体与“ documents”外部联接以便“ document-person”记录的存在或不存在可能具有相同的语义“ flag IS NULL”表示未读文档。 现在当您要将文档标记为已读时必须决定是插入一个新的“ document_person”还是更新现有的“ document_person”。 与删除相同。 与将所有文档标记为已读或删除所有文档相同。 改用MERGE 您可以一口气做到这一切 假设您要插入/更新一条记录以将一个文档标记为已读 -- The target tableMERGE INTO document_person dst-- The data source. In this case, just a dummy recordUSING (SELECT :docu_id as docu_id, :pers_id as pers_id, :flag as flagFROM DUAL) src-- The merge condition (if true, then update, else insert)ON (dst.docu_id src.docu_id AND dst.pers_id src.pers_id)-- The update actionWHEN MATCHED THEN UPDATE SETdst.flag src.flag-- The insert actionWHEN NOT MATCHED THEN INSERT (dst.docu_id,dst.pers_id,dst.flag)VALUES (src.docu_id,src.pers_id,src.flag) 这看起来很相似但是比MySQL的INSERT .. ON DUPLICATE KEY UPDATE语句冗长得多这更加简洁。 发挥到极致 但是您可以走得更远 如前所述您可能还希望将给定人员的所有文档标记为已读。 合并没问题。 如果指定docu_id则以下语句与上一条相同。 如果将其保留为空它将仅将所有文档标记为flag MERGE INTO document_person dst-- The data source is now all documents (or just :docu_id) left outer-- joined with the document_person mappingUSING (SELECT d.id as docu_id, :pers_id as pers_id, :flag as flagFROM documents dLEFT OUTER JOIN document_person d_p ON d.id d_p.docu_id AND d_p.pers_id :pers_id-- If :docu_id is set, select only that documentWHERE (:docu_id IS NOT NULL AND d.id :docu_id)-- Otherwise, select all documentsOR (:docu_id IS NULL)) src-- If the mapping already exists, update. Else, insertON (dst.docu_id src.docu_id AND dst.pers_id src.pers_id)-- The rest stays the sameWHEN MATCHED THEN UPDATE SETdst.flag src.flagWHEN NOT MATCHED THEN INSERT (dst.docu_id,dst.pers_id,dst.flag)VALUES (src.docu_id,src.pers_id,src.flag) jOOQ中的MERGE支持 jOOQ也完全支持MERGE。 有关更多详细信息请参见手册滚动至底部 http://www.jooq.org/manual/JOOQ/Query/ 合并愉快 参考我们的JCG合作伙伴 Lukas Eder在JAVASQL和JOOQ博客上使用SQL2003 MERGE语句 编写了 Arcane magic 。 相关文章 Java中的数据库架构导航 ORM问题 SQL或NOSQL这是问题吗 什么是NoSQL 按汇总分组/多维数据集 翻译自: https://www.javacodegeeks.com/2011/12/arcane-magic-with-sql2003-merge.htmlmerge语句使用
http://www.zqtcl.cn/news/789056/

相关文章:

  • 做网站怎样赚卖流量石家庄网站建设联系电话
  • wordpress 图片网站本地免费发布信息网站
  • 建设网站和别人公司重名新乡建设招标投标网站
  • 四川省建设厅网站证想开个网站怎样开公司
  • 做机械一般做那个外贸网站电商软件开发费用
  • 网站外链坏处龙岗网站设计信息
  • 郑州网站建设乙汉狮网络搜索优化网络推广
  • Dw做html网站百度推广竞价排名
  • 北京市电力建设公司网站万云网络网站
  • 校园网站开发方案做网站现在用什么语言
  • 网站建设学什么书中联建设集团股份有限公司网站
  • 制作个人业务网站go 做视频网站
  • 域名对网站建设有什么影响吗找人做仿网站
  • 网站建设翻译谁提供爱心代码html简单
  • 上海专业网站建站公司asp.net商务网站 包括哪些文件
  • 网站制作的重要流程营销团队找产品合作
  • 网站治做啊app易居销售系统
  • 定制跟模板网站有什么不一样如何做网站的订阅
  • 黑龙seo网站优化做网站,图片显示不出来
  • aspcms网站无法打开东莞网站推广方案
  • aspcms企业网站模板互联网推广模式有哪些
  • 高端 网站设计公司怎样开通微信公众号平台
  • 陕西省建设监理协会网站证书城乡建设管理局网站
  • 网站建设价目表建设商城网站报价
  • 天河企业网站建设杭州网站开发与设计
  • 涂料厂做网站有用吗廊坊关键词快速排名
  • 免费编程网站个人博客网站如何做SEO
  • 动漫做美食的视频网站佛山网站建设公司88
  • 衡水移动网站建设网站定制论坛
  • 装修网站模板源码网站上传不了