
کوئری زیر اطلاعات مربوط به بیمه شدگان دارای تاریخ اعتبار بین 13990701 و 14000101 را استخراج کرده و آماده تغییر می کند.
create table sharifi.bku_changeAccountValidationV1_13990807 as
select
-- count(1)
a.id,
a.membernn,
product_id,
to_char(validfrom, 'yyyymmdd', 'nls_calendar=persian') validfrom,
to_char(validto, 'yyyymmdd', 'nls_calendar=persian') validto,
a.status
from
ticpfamily f,ticpmember m,OMID.ticpaccount a
where f.id=m.familyowner_id
and m.id=a.memberowner_id
and product_id <>6
and trunc(validto) >=to_date('13990701', 'yyyymmdd', 'nls_calendar=persian')
and trunc(validto) <to_date('14000101', 'yyyymmdd', 'nls_calendar=persian')
and a.status in ('D')
and a.dto is null
and f.dto is null
and m.dto is null;
بعد از استخراج اطلاعات، کوئری زیر را جهت افزایش اعتبار استفاده می کنیم.
declare
v_result number;
begin
for v_cur in (
select s.* from sharifi.bku_changeAccountValidationV1_13990807 s,ticpaccount a
where s.id=a.id and a.status='D' and nvl(a.isactive,'Y')='Y'--8290267
)loop
v_result:=pkgacountmanagement.fncchangeaccountvalidation(v_cur.id
,TO_DATE('14000131', 'YYYYMMDD', 'NLS_CALENDAR = PERSIAN')
,'افزایش اعتبار پیرو نامه سازمان مورخ 13990719 جهت پیشگیری از شیوع کرونا');
if (v_result!=1) then
DBMS_OUTPUT.PUT_LINE(v_cur.Id || ':' || v_result);
end if;
end loop;
end;