CREATE TABLE tmp_imp_aanw
(
   ins_srtdiscipline_omschrijving   VARCHAR2 (100),
   ins_srtdiscipline_prefix         VARCHAR2 (100),
   ins_discipline_omschrijving      VARCHAR2 (100),
   mld_stdmelding_omschrijving      VARCHAR2 (100),
   aanwijzing                       VARCHAR2 (1000)
)

-- pas de hint aan
UPDATE mld_stdmelding std
   SET mld_stdmelding_hint =
          (SELECT aanwijzing
             FROM ins_tab_discipline d, ins_srtdiscipline sd, tmp_imp_aanw i
            WHERE i.ins_srtdiscipline_prefix = sd.ins_srtdiscipline_prefix
              AND TRIM (i.ins_discipline_omschrijving) =
                     d.ins_discipline_omschrijving
              AND TRIM (i.mld_stdmelding_omschrijving) =
                     std.mld_stdmelding_omschrijving
              AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
              AND d.ins_discipline_key = std.mld_ins_discipline_key)
 WHERE EXISTS
          (SELECT mld_stdmelding_key
             FROM ins_tab_discipline d, ins_srtdiscipline sd, tmp_imp_aanw i
            WHERE i.ins_srtdiscipline_prefix = sd.ins_srtdiscipline_prefix
              AND UPPER(TRIM (i.ins_discipline_omschrijving)) =
                     UPPER(d.ins_discipline_omschrijving)
              AND TRIM (i.mld_stdmelding_omschrijving) =
                     std.mld_stdmelding_omschrijving
              AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
              AND d.ins_discipline_key = std.mld_ins_discipline_key)
   AND mld_stdmelding_vervaldatum IS NULL




-- Hoeveel regels uit het importbestand kunnen niet gevonden worden.
SELECT ins_srtdiscipline_prefix, ins_discipline_omschrijving, mld_stdmelding_omschrijving
  FROM tmp_imp_aanw i
 WHERE NOT EXISTS
          (SELECT mld_stdmelding_key
             FROM ins_tab_discipline d,
                  ins_srtdiscipline sd,
                  mld_stdmelding std
            WHERE i.ins_srtdiscipline_prefix = sd.ins_srtdiscipline_prefix
              AND UPPER(TRIM (i.ins_discipline_omschrijving)) =
                     UPPER(d.ins_discipline_omschrijving)
              AND TRIM (i.mld_stdmelding_omschrijving) =
                     std.mld_stdmelding_omschrijving
              AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
              AND d.ins_discipline_key = std.mld_ins_discipline_key)


-- controleer de inhoud van de hint kolom.
SELECT mld_stdmelding_hint
  FROM mld_stdmelding std
 WHERE EXISTS
          (SELECT mld_stdmelding_key
             FROM ins_tab_discipline d, ins_srtdiscipline sd, tmp_imp_aanw i
            WHERE i.ins_srtdiscipline_prefix = sd.ins_srtdiscipline_prefix
              AND TRIM (i.ins_discipline_omschrijving) =
                     d.ins_discipline_omschrijving
              AND TRIM (i.mld_stdmelding_omschrijving) =
                     std.mld_stdmelding_omschrijving
              AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
              AND d.ins_discipline_key = std.mld_ins_discipline_key)
              
DROP TABLE tmp_imp_aanw;


-- dubbelen met vervaldatum gevonden daarom 'truck' gevonden om eerst _ toe te voegen.

select * from imp_log

select * from fac_imp_mld

select * form

select * from fac_imp_mld

update fac_imp_mld set mld_stdmelding_omschrijving = '_' || mld_stdmelding_omschrijving

update mld_stdmelding m set mld_stdmelding_omschrijving = '__' || mld_stdmelding_omschrijving where exists (
select mld_stdmelding_key from mld_stdmelding m2 where '_' || m.mld_stdmelding_omschrijving = mld_stdmelding_omschrijving)

update fac_imp_mld set mld_stdmelding_omschrijving = replace(mld_stdmelding_omschrijving, '_') where substr(mld_stdmelding_omschrijving,1,1) = '_'

begin fac_update_mld (103480); end;

insert into fac_imp_mld
select * from aait_test.fac_imp_mld i
where not exists (
select mld_stdmelding_key from ins_srtdiscipline sd, ins_tab_discipline d, mld_stdmelding std
where sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
and d.ins_discipline_key = std.mld_ins_discipline_key
and i.ins_srtdiscipline_prefix = sd.ins_srtdiscipline_prefix
and UPPER(TRIM(i.ins_discipline_omschrijving)) = UPPER(TRIM(d.ins_discipline_omschrijving))
and i.mld_stdmelding_omschrijving = std.mld_stdmelding_omschrijving
and STD.MLD_STDMELDING_VERVALDATUM is null
)

select * from ins_tab_discipline where ins_discipline_omschrijving like 'Print-%'

