У нас есть ошибка в работе, к счастью, есть ручное решение для этого, однако мне приходится выполнять ниже двух запросов каждое утро, чтобы исправить ошибку.Это так вручную, я хочу автоматизировать это и объединить два запроса в один.Однако эта ошибка возникает только в производстве, а не в DEV или QA, если я испорчу комбинирующий запрос, который приведет к хаосу, поэтому мне нужен ваш опыт.
1-й запрос приносит номера проекта
select id, ugenProjectNumber
from unifier_uxpecai
where (pecaiChecklistNumber = 0 or pecaiChecklistNumber is null)
or (pecaiChecklistItemNumber = 0 or pecaiChecklistItemNumber is null)
2-й запрос исправляет неработающие ссылки между элементами действия и элементами списка, я вручную помещаю уникальные номера проекта результатов 1-го запроса во второй запрос и запускаю второй запрос в соответствии скаждый уникальный номер проекта.
update unifier_uxpecai pai
set (pai.pecaiChecklistNumber, pai.pecaiChecklistItemNumber) =
(
select pcl.id, pcli.id
from unifier_uxpecl pcl
inner join unifier_uxpecl_lineitem pcli on pcli.uuu_tab_id = 0 and
pcli.record_id = pcl.id
where pcl.ugenProjectNumber = 'GL-16-161010-143502'
and pcli.pecItemActionItemBPC = pai.id
)
where exists
(
select pcli.pecItemActionItemBPC
from unifier_uxpecl pcl
inner join unifier_uxpecl_lineitem pcli on pcli.uuu_tab_id = 0 and
pcli.record_id = pcl.id
where pcl.ugenProjectNumber = 'GL-16-161010-143502'
and pcli.pecItemActionItemBPC = pai.id
)
and (pai.pecaiChecklistNumber = 0 or pai.pecaiChecklistItemNumber = 0)