TD迁移 teradata qualify函数语法转换工具

编程入门 行业动态 更新时间:2024-10-10 14:23:19

TD迁移 teradata qualify函数<a href=https://www.elefans.com/category/jswz/34/1770552.html style=语法转换工具"/>

TD迁移 teradata qualify函数语法转换工具

 工具下载链接:


提取码:qftf

转换前:

SELECT 	ETL_SYSTEM,ETL_JOB,JOB_TYPE,LAST_TXDATE,LAST_STARTTIME,LAST_ENDTIME,JOB_PRIORITY
FROM ETL_JOB 
WHERE T1.ETL_JOB IN(SELECT ETL_JOB FROM PETL.ETL_JOB_DEPENDECNY WHERE DEPENDENCY_JOB = 'DEPENDENCY_JOB' )
AND T1.ETL_JOB IN (SELECT DEPENDENCY_JOB FROM PETL.ETL_JOB_DEPENDECNY WHERE DEPENDENCY_JOB = 'ETL_JOB')
QUALIFY ROW_NUMBER() OVER(PARTITION BY ETL_SYSTEM ORDER BY JOB_PRIORITY DESC) = 1 
ORDER BY 1 DESC;

转换后:

SELECT 	ETL_SYSTEM,ETL_JOB,JOB_TYPE,LAST_TXDATE,LAST_STARTTIME,LAST_ENDTIME,JOB_PRIORITYfrom  (SELECT 	ETL_SYSTEM,ETL_JOB,JOB_TYPE,LAST_TXDATE,LAST_STARTTIME,LAST_ENDTIME,JOB_PRIORITY, row_number() over(partition by etl_system order by job_priority desc) as RowNumBer
FROM ETL_JOB 
WHERE T1.ETL_JOB IN(SELECT ETL_JOB FROM PETL.ETL_JOB_DEPENDECNY WHERE DEPENDENCY_JOB = 'DEPENDENCY_JOB' )
AND T1.ETL_JOB IN (SELECT DEPENDENCY_JOB FROM PETL.ETL_JOB_DEPENDECNY WHERE DEPENDENCY_JOB = 'ETL_JOB')
) TTAB0where RowNumBer = 1 
ORDER BY 1 DESC;

递归转换前:

with recursive as rectbl (etl_job,dependency_job,level) as (select etl_job,dependency_job,2(integer)from etl_job_dependencywhere etl_system = 'CTL'and etl_job = 'CTL_END'and enbale =1
union allselect b.etl_job,b.dependency_job,level+1from rectbl ainner join etl_job_dependency bon a.dependency_job = b.etl_joband b.enbale = 1)
select  t3.etl_system d_syatem,t1.dependency_job d_job,t3.jobtype,t3.last_jobstatus,t3.last_starttime,t3.last_endtime,t3.last_txdate,t3.job_priority,max(t1.level)
from rectbl t1
inner join etl_job t3
on t1.dependency_job = t3.etl_job
qualify row_number() over (partition by t1.dependency_job order by level desc) = 1
union all
select etl_system,etl_job,jobtype,last_jobstatus,last_starttime,last_endtime,last_txdate,job_priority,1
from etl_job
where etl_system = 'CTL'
and etl_job = 'CTL_END';

递归转换后:

with recursive as rectbl (etl_job,dependency_job,level) as (select etl_job,dependency_job,2(integer)from etl_job_dependencywhere etl_system = 'CTL'and etl_job = 'CTL_END'and enbale =1
union allselect b.etl_job,b.dependency_job,level+1from rectbl ainner join etl_job_dependency bon a.dependency_job = b.etl_joband b.enbale = 1)
select  t3.etl_system d_syatem,t1.dependency_job d_job,t3.jobtype,t3.last_jobstatus,t3.last_starttime,t3.last_endtime,t3.last_txdate,t3.job_priority,t1.levelfrom  (select  t3.etl_system d_syatem,t1.dependency_job d_job,t3.jobtype,t3.last_jobstatus,t3.last_starttime,t3.last_endtime,t3.last_txdate,t3.job_priority,t1.level, row_number() over (partition by t1.dependency_job order by level desc) as RowNumBer
from rectbl t1
inner join etl_job t3
on t1.dependency_job = t3.etl_job
) TTAB16where RowNumBer = 1 
union all
select etl_system,etl_job,jobtype,last_jobstatus,last_starttime,last_endtime,last_txdate,job_priority,1
from etl_job
where etl_system = 'CTL'
and etl_job = 'CTL_END';

第一种初步正常转换已经可以完成,但是在这里出现了转换后使用别名的问题,还需要手工做一下简单的修改。

大家有好的处理方案,欢迎一起讨论讨论。

需要处理别名问题,可以联系制作者讨论一下。

更多推荐

TD迁移 teradata qualify函数语法转换工具

本文发布于:2024-02-07 06:24:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754317.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语法   转换工具   函数   TD   teradata

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!