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

陕西省建设厅网站首页web网址

陕西省建设厅网站首页,web网址,云南文山州,娱乐网站建设ppt最近使用Datax同步进行定时数据同步,并在同步完之后进行回调sql进行统计操作。对应的ORACLE表结构如下: create table DATA_STAT_DAY ( DATA_DATE DATE, ID VARCHAR2(2), NAME VARCHAR2(2), CLASSNO VARCHAR2(2), SCORES NUMBER(16,0) );CREATE UNIQU…

最近使用Datax同步进行定时数据同步,并在同步完之后进行回调sql进行统计操作。对应的ORACLE表结构如下:

create table DATA_STAT_DAY (
DATA_DATE DATE, 
ID VARCHAR2(2), 
NAME VARCHAR2(2),
CLASSNO VARCHAR2(2),
SCORES NUMBER(16,0)
);CREATE UNIQUE INDEX IDX_DATA_STAT_DAY ON DATA_STAT_DAY(DATA_DATE, ID, NAME, CLASSNO);

回调对应的SQL如下:

MERGE INTO DATA_STAT_DAY a
USING (SELECT DATA_DATE,'0000' AS ID,NAME,CLASSNO, SUM(SCORES) SCORESFROM DATA_STAT_DAY WHERE ID % 2 = 0GROUP BY DATA_DATE,NAME,CLASSNO
) b 
ON (a.DATA_DATE = b.DATA_DATE and a.ID = b.ID and a.NAME = b.NAME and a.CLASSNO = b.CLASSNO)
WHEN MATCHED THEN UPDATE SET a.SCORES = b.SCORES
WHEN NOT MATCHED THEN INSERT INTO (a.DATA_DATE,a.ID,a.NAME,a.CLASSNO,a.SCORES)VALUES (b.DATA_DATE,b.ID,b.NAME,b.CLASSNO,b.SCORES)

回调SQL执行过程中,触发了 ORA-00001: unique constaint violated 的错误,其中USING部分的数据没有重复的,并且表中也没有和USING表中重复的,但是这里面的NAME和CLASSNO字段是有部分字段为NULL,ID部分有重复的值,然后这就导致了MERGE INTO的USING 关联的ON条件的时候判断为没关联上。但是在插入的时候,唯一索引判断重复了,所以对应的USING的数据集的ON部分的字段不能有为NULL的,否则会报唯一索引冲突的问题。

ORACLE的递归查询

SELECT M.MGT_ORG_CODE,LPAD(' ', LEVEL * 2, ' ') || M.MGT_ORG_NAME AS MGT_ORG_NAME,M.PRNT_MGT_ORG_CODE,SYS_CONNECT_BY_PATH(M.MGT_ORG_CODE, '>') AS CODE_PATH,REGEXP_SUBSTR(SYS_CONNECT_BY_PATH(M.MGT_ORG_CODE, '>'),'[^>]+',1,1,'i') AS MGT_ORG_C1,REGEXP_SUBSTR(SYS_CONNECT_BY_PATH(M.MGT_ORG_CODE, '>'),'[^>]+',1,2,'i') AS MGT_ORG_C2,REGEXP_SUBSTR(SYS_CONNECT_BY_PATH(M.MGT_ORG_CODE, '>'),'[^>]+',1,3,'i') AS MGT_ORG_C3,REGEXP_SUBSTR(SYS_CONNECT_BY_PATH(M.MGT_ORG_CODE, '>'),'[^>]+',1,4,'i') AS MGT_ORG_C4,REGEXP_SUBSTR(SYS_CONNECT_BY_PATH(M.MGT_ORG_CODE, '>'),'[^>]+',1,5,'i') AS MGT_ORG_C5,REGEXP_SUBSTR(SYS_CONNECT_BY_PATH(M.MGT_ORG_CODE, '>'),'[^>]+',1,6,'i') AS MGT_ORG_C6,CONNECT_BY_ROOT(M.MGT_ORG_CODE) AS ROOT_CODE_VAL,CONNECT_BY_ISLEAF AS ISLEAF,M.DIST_LV,'0' || (LEVEL + 1) AS MGT_LEVELFROM (SELECT T.MGT_ORG_CODE,T.DIST_LV,T.PRNT_MGT_ORG_CODE,T.MGT_ORG_NAMEFROM M_MGT_ORG TWHERE T.MGT_ORG_TYPE = 'corp'AND T.VALID_FLAG = '02') MSTART WITH M.DIST_LV = '02'
CONNECT BY NOCYCLE PRIOR M.MGT_ORG_CODE = M.PRNT_MGT_ORG_CODEORDER BY M.MGT_ORG_CODE

START WITH:指定起始节点的条件
CONNECT BY:指定父子行的条件关系
PRIOR:查询父行的限定符,格式:prior column1=column2 or column1=prior column2
NOCYCLE:若数据表中存在循环行,那么不添加此关键字会报错,添加关键字后,便不会报错,但循环的两行只会显示其中的第一条
循环行:该行只有一个子行,而且子行又是该行的祖先行
CONNECT_BY_ISCYCLE:前置条件:在使用了NOCYCLE之后才能使用此关键字,用于表示是否是循环行,0表示否,1表示是
CONNECT_BY_ISLEAF:是否是叶子节点,0表示否,1表示是
LEVEL:level伪列,表示层级,值越小层级越高,level=1为层级最高节点
CONNECT_BY_ROOT: 可以获取树形查询根记录的字段,start with开始的地方被视为根节点。
SYS_CONNECT_BY_PATH:从start with开始的地方开始遍历,并记下其遍历到的节点,start with开始的地方被视为根节点,将遍历到的路径根据函数中的分隔符,组成一个新的字符串。

http://www.laogonggong.com/news/32668.html

相关文章:

  • 广州网页制作网站怎么优化到首页
  • wordpress菜单突然拉不出被公司优化掉是什么意思
  • 做网站设计文字大小怎么设定环球军事网最新军事新闻最新消息
  • 北京专业网站建设公司哪家好口碑营销的作用
  • 手机网站怎么做seo关键词热度
  • 网站开发 方案 报价单烟台网站建设
  • 临朐网站建设建站郑州关键词排名公司电话
  • 建设企业官方网站橙子建站怎么收费
  • 新手做网站怎么上传系统代写文章质量高的平台
  • 监理工程师证查询网站无锡百度推广代理商
  • 本地建站工具关键词优化举例
  • 商城网页定制开发seo成功的案例和分析
  • 盐山国外网站建设百度百家号登录入口
  • 做网站和做网页的区别网站下载免费软件
  • 怎么做网站流量赚钱吗网络推广运营
  • 微信公众号怎么做网站链接国内新闻大事
  • 商务网站建设与规划seo排名点击器曝光行者seo
  • 服装批发做哪个网站好呢域名注册需要什么条件
  • 广州做贷款有什么网站百度2019旧版本下载
  • 制作演示网站郑州百度快照优化
  • 做网站的顶部图片营销成功的案例
  • 做建筑设计的网站推荐如何进行seo
  • 什么网站做h5想学互联网从哪里入手
  • 门户网站建设开发需要注意什么百度云资源共享
  • 鹤山网站建设易搜互联东莞疫情最新消息今天新增病例
  • 九寨沟网站开发的背景凡科小程序
  • 蓝色phpcms律师网站模板phpcms律师google应用商店
  • 手机端做的优秀的网站2024年重大新闻摘抄
  • 河北邢台区号扬州百度seo
  • 做网站数据库表各字段详情目前病毒的最新情况