#sql #database #for-loop #plsqldeveloper
#sql #База данных #для цикла #plsqldeveloper
Вопрос:
У меня есть запрос цикла for, и я пытаюсь изменить его без зацикливания и пытаюсь проверить одну запись без зацикливания.
итак, я ищу обычный запрос без цикла.
<query name="validate2">
<![CDATA[
begin
for rec in (
select staging.profileId as sfId
from staging_pricematch_adj staging
left outer join client cl
on staging.profileId = cl.salesforce_Id
where staging.rejectcode is null
and cl.salesforce_Id is null
) loop
update staging_pricematch_adj
set rejectcode = '002',
rejectReason = 'INVALID_PROFILE_ID'
where profileId = rec.sfId;
end loop;
end;
]]>
</query>
я ищу запрос noraml без условий цикла.
Ответ №1:
Упрощенно это будет работать:
update staging_pricematch_adj
set rejectcode = '002',
rejectReason = 'INVALID_PROFILE_ID'
where profileId IN (
select staging.profileId
from staging_pricematch_adj staging
left outer join client cl
on staging.profileId = cl.salesforce_Id
where staging.rejectcode is null
and cl.salesforce_Id is null
)