达梦、oracel、mysql数据库兼容

摘要:
联合表更新sql语句:仅支持mysql和oracle,不支持damon updateto _ pub_ reporta,to_ pub_ rec_ processbseta.Sisfy _ ID=1,a.Satisfy _ Content=“默认情况下满足”,其中a.rec _ ID=b.rec_ idanda.Type _ ID=1anda.State _ ID=4anda.syn _ flag=1anda.Sisfy=IDisnul

联合表更新sql语句:

只支持mysql、oracle,不支持达梦

update
        to_pub_report a,
        to_pub_rec_process b
set
        a.Satisfy_ID      = 1,
        a.Satisfy_Content = '默认满意'
where
    a.rec_id          = b.rec_id
    and a.Type_ID         = 1
    and a.State_ID        = 4
    and a.syn_flag        = 1
    and a.Satisfy_ID     is null
    and b.act_property_id = 101
    and b.create_time     <  '2019-08-07 17:04:05'

支持mysql、oracel、达梦的语法:

UPDATE to_pub_report a
SET a.Satisfy_ID = 1, a.Satisfy_Content = '默认满意' 
WHERE EXISTS(SELECT 1 FROM  to_pub_rec_process b WHERE a.rec_id = b.rec_id 
    and a.Type_ID         = 1
    and a.State_ID        = 1
    and a.syn_flag        = 1
    and a.Satisfy_ID     is not null
    and b.act_property_id = 0
    and b.create_time     = '2019-08-07 17:04:05'
    );

sum(条件)只支持mysql,

select user_id, " +
                "                                  sum(state_id > 0)                                               as reportNum, " +
                "                                  sum(act_property_id >= 5 and act_property_id <> 102)            as validReportNum, " +
                "                                  sum(act_property_id >= 2 and act_property_id <> 102)            as operateNum, " +
                "                                  sum(act_property_id > 4)                                        as instNum, " +
                "                                  sum((state_id = 9) or (state_id = 4 and act_property_id = 102)) as cancelNum, " +
                "                                  sum(act_property_id = 101)                                      as archiveNum " +
                "                           from to_pub_report " +
                "                           where 1=1 " +
                reportExtendSql +
                "                           group by user_id

sum(case when end)支持mysql、oracel、达梦的

sum(case when id > 0 then id end CASE)  如果id大于0,则取id值进行求和 
select user_id, " +
                "                                  sum(case when state_id > 0 then 1 end CASE)                                         as reportNum, " +
                "                                  sum( " +
                "                                          case when act_property_id >= 5 and act_property_id <> 102 then 1 else 0 end) as validReportNum, " +
                "                                  sum( " +
                "                                          case when act_property_id >= 2 and act_property_id <> 102 then 1 else 0 end) as operateNum, " +
                "                                  sum(case when act_property_id > 4 then 1 else 0 end)                                 as instNum, " +
                "                                  sum(case " +
                "                                          when (state_id = 9) or (state_id = 4 and act_property_id = 102) then 1 " +
                "                                          else 0 end)                                                                  as cancelNum, " +
                "                                  sum(case when act_property_id = 101 then 1 else 0 end)                               as archiveNum " +
                "                           from "+SchemaConst.DLMIS_+"to_pub_report " +
                "                           where 1 = 1 " +
                reportExtendSql +
                "                           group by user_id
 

免责声明:文章转载自《达梦、oracel、mysql数据库兼容》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IPMItool小结QDialog 添加最大化、最小化按钮和关闭按钮,并且要正常显示下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

主机连接虚拟机的mysql 记录

   检查远程的虚拟机是否可以ping通过   查看虚拟机IP为192.168.38.128      cmd窗口ping 192.168.38.128,出现如下界面说明是可以的      检查虚拟机mysql的端口号是否对外开通   比如我们能用xshell等远程工具连接虚拟机上的linux,是因为开放了22端口   查看mysql的端口,在mysql命...

MySQL索引及使用详解

一.索引的作用        一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。        在数据量和访问量不大的情况下,mysql访问是非常快的,是否加索引对访问影响不大。但是当数据量和访问量剧增的时候,就会发现mysql变慢...

Oracle 12c 数据库中scott用户不存在的解决方法

-- 使用超级管理员登录CONN sys/change_on_install AS SYSDBA ;-- 创建c##scott用户CREATE USER c##scott IDENTIFIED BY tiger ;-- 为用户授权GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO c##scott CONTAINE...

数据库高并发的设计

参考博文 现在公司要做一个数据库方案,总体目标是要存约 200T 的数据,机器不是问题。http://topic.csdn.net/u/20100317/12/fecc83b6-4849-48cf-a20b-24d552fd1cd0_2.html如何构建千万用户级别后台数据库架构设计的思路http://www.mysqlops.com/2011/11/22...

JeecgBoot 单体升级微服务启动

JeecgBoot 单体升级微服务启动 参考地址 一、操作步骤 按照官网操作步骤即可。 需要执行项目下的SQL。(重要) 需要将微服务的项目加到Module里面,File-->Project Structure-->Modules 二、遇到的问题 需要修改数据库中的数据库地址,Redis地址 Nacos 启动后,配置信息加载的是数据...

PHP获取MySql新增记录ID值的方法

今天发现用mysql_insert_id()获取到的新增记录的id不正确, 虽然发现源代码的事务写的有问题,但是最根本的原因是,我插入数据的id类型是bigint型  获取MySql新增记录ID值的方法有 1.使用语句 mysql_query("select max(id) from user",$link); 2.使用函数msyql_insert_i...