FCLT#77314 Unieke index op het externnr en dat in EXC_PAC goed afhandelen
svn path=/Database/branches/DB44/; revision=59726
This commit is contained in:
157
EXC/EXC_PAC.SRC
157
EXC/EXC_PAC.SRC
@@ -304,8 +304,7 @@ AS
|
|||||||
(SELECT 1
|
(SELECT 1
|
||||||
FROM res_rsv_ruimte
|
FROM res_rsv_ruimte
|
||||||
WHERE res_rsv_ruimte_verwijder IS NOT NULL
|
WHERE res_rsv_ruimte_verwijder IS NOT NULL
|
||||||
AND INSTR (res_rsv_ruimte_externnr,
|
AND res_rsv_ruimte_externnr = appt_id || '|' || recur_id));
|
||||||
appt_id || '|' || recur_id) = 1));
|
|
||||||
|
|
||||||
-- We gaan uit van een geldig bestand, mogelijk verandert dat onderweg
|
-- We gaan uit van een geldig bestand, mogelijk verandert dat onderweg
|
||||||
header_is_valid := 0;
|
header_is_valid := 0;
|
||||||
@@ -609,9 +608,7 @@ AS
|
|||||||
WHERE modifier = 'D'
|
WHERE modifier = 'D'
|
||||||
AND gelukt IS NULL) i,
|
AND gelukt IS NULL) i,
|
||||||
res_rsv_ruimte rr
|
res_rsv_ruimte rr
|
||||||
WHERE rr.res_rsv_ruimte_externnr IS NOT NULL
|
WHERE rr.res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id
|
||||||
AND INSTR(rr.res_rsv_ruimte_externnr,
|
|
||||||
i.appt_id || '|' || i.recur_id || '|') = 1
|
|
||||||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT 'Unknown room' reden, i.*, rr.*
|
SELECT 'Unknown room' reden, i.*, rr.*
|
||||||
@@ -628,8 +625,7 @@ AS
|
|||||||
AND starttime > SYSDATE
|
AND starttime > SYSDATE
|
||||||
AND gelukt IS NULL) i,
|
AND gelukt IS NULL) i,
|
||||||
res_rsv_ruimte rr
|
res_rsv_ruimte rr
|
||||||
WHERE INSTR(rr.res_rsv_ruimte_externnr,
|
WHERE rr.res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id
|
||||||
i.appt_id || '|' || i.recur_id || '|') = 1
|
|
||||||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||||||
AND NOT EXISTS
|
AND NOT EXISTS
|
||||||
(SELECT 1
|
(SELECT 1
|
||||||
@@ -656,7 +652,7 @@ AS
|
|||||||
AND recur_id IS NOT NULL
|
AND recur_id IS NOT NULL
|
||||||
AND gelukt IS NULL) i,
|
AND gelukt IS NULL) i,
|
||||||
res_rsv_ruimte rr
|
res_rsv_ruimte rr
|
||||||
WHERE INSTR(rr.res_rsv_ruimte_externnr, i.appt_id || '||') = 1
|
WHERE rr.res_rsv_ruimte_externnr = i.appt_id || '|'
|
||||||
AND rr.res_rsv_ruimte_verwijder IS NULL;
|
AND rr.res_rsv_ruimte_verwijder IS NULL;
|
||||||
|
|
||||||
-- TODO: Voor later: res_cat_t1 en res_t1 gebruiken ipv TRUNC
|
-- TODO: Voor later: res_cat_t1 en res_t1 gebruiken ipv TRUNC
|
||||||
@@ -789,8 +785,7 @@ AS
|
|||||||
modifier) i,
|
modifier) i,
|
||||||
res_rsv_ruimte rr,
|
res_rsv_ruimte rr,
|
||||||
res_ruimte rnew
|
res_ruimte rnew
|
||||||
WHERE INSTR(rr.res_rsv_ruimte_externnr,
|
WHERE rr.res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id
|
||||||
i.appt_id || '|' || i.recur_id || '|') = 1
|
|
||||||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||||||
AND rnew.res_ruimte_extern_id = i.room_id
|
AND rnew.res_ruimte_extern_id = i.room_id
|
||||||
AND rnew.res_ruimte_verwijder IS NULL;
|
AND rnew.res_ruimte_verwijder IS NULL;
|
||||||
@@ -874,9 +869,7 @@ AS
|
|||||||
FROM res_rsv_ruimte rr,
|
FROM res_rsv_ruimte rr,
|
||||||
res_ruimte_opstelling ro,
|
res_ruimte_opstelling ro,
|
||||||
res_ruimte r
|
res_ruimte r
|
||||||
WHERE rr.res_rsv_ruimte_externnr IS NOT NULL
|
WHERE rr.res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id
|
||||||
AND INSTR(rr.res_rsv_ruimte_externnr,
|
|
||||||
i.appt_id || '|' || i.recur_id || '|') = 1
|
|
||||||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||||||
AND ro.res_ruimte_opstel_key =
|
AND ro.res_ruimte_opstel_key =
|
||||||
rr.res_ruimte_opstel_key
|
rr.res_ruimte_opstel_key
|
||||||
@@ -1078,8 +1071,7 @@ AS
|
|||||||
AND NOT EXISTS
|
AND NOT EXISTS
|
||||||
(SELECT 1
|
(SELECT 1
|
||||||
FROM res_rsv_ruimte
|
FROM res_rsv_ruimte
|
||||||
WHERE INSTR(res_rsv_ruimte_externnr,
|
WHERE res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id);
|
||||||
i.appt_id || '|' || i.recur_id || '|') = 1);
|
|
||||||
|
|
||||||
-- Dan bestaande bijwerken, anders kan het gebeuren dat we op basis van een UPDATE
|
-- Dan bestaande bijwerken, anders kan het gebeuren dat we op basis van een UPDATE
|
||||||
-- eerst een rsv_ruimte aanmaken en 'm daarna meteen proberen bij te werken.
|
-- eerst een rsv_ruimte aanmaken en 'm daarna meteen proberen bij te werken.
|
||||||
@@ -1126,8 +1118,7 @@ AS
|
|||||||
SELECT COUNT (*)
|
SELECT COUNT (*)
|
||||||
INTO v_count_all_booked
|
INTO v_count_all_booked
|
||||||
FROM res_rsv_ruimte rr
|
FROM res_rsv_ruimte rr
|
||||||
WHERE INSTR(rr.res_rsv_ruimte_externnr,
|
WHERE rr.res_rsv_ruimte_externnr = rec.appt_id || '|' || rec.recur_id
|
||||||
rec.appt_id || '|' || rec.recur_id || '|') = 1
|
|
||||||
AND rr.res_rsv_ruimte_verwijder IS NULL;
|
AND rr.res_rsv_ruimte_verwijder IS NULL;
|
||||||
|
|
||||||
v_errorhint := 'Totaal aantal benodigde zalen bepalen';
|
v_errorhint := 'Totaal aantal benodigde zalen bepalen';
|
||||||
@@ -1150,8 +1141,7 @@ AS
|
|||||||
FROM res_rsv_ruimte rr,
|
FROM res_rsv_ruimte rr,
|
||||||
res_ruimte_opstelling rops,
|
res_ruimte_opstelling rops,
|
||||||
res_ruimte r
|
res_ruimte r
|
||||||
WHERE INSTR(rr.res_rsv_ruimte_externnr,
|
WHERE rr.res_rsv_ruimte_externnr = rec.appt_id || '|' || rec.recur_id
|
||||||
rec.appt_id || '|' || rec.recur_id || '|') = 1
|
|
||||||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||||||
AND rops.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
|
AND rops.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
|
||||||
AND r.res_ruimte_key = rops.res_ruimte_key
|
AND r.res_ruimte_key = rops.res_ruimte_key
|
||||||
@@ -1470,24 +1460,6 @@ AS
|
|||||||
CONTINUE;
|
CONTINUE;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
v_errorhint := 'Last-minute duplicaat check';
|
|
||||||
|
|
||||||
SELECT COUNT (*)
|
|
||||||
INTO v_count
|
|
||||||
FROM res_rsv_ruimte
|
|
||||||
WHERE res_rsv_ruimte_externnr IS NOT NULL
|
|
||||||
AND INSTR(res_rsv_ruimte_externnr, rec.appt_id || '|' || rec.recur_id || '|') = 1
|
|
||||||
AND res_rsv_ruimte_verwijder IS NULL;
|
|
||||||
|
|
||||||
IF (v_count > 0)
|
|
||||||
THEN
|
|
||||||
fac.imp_writelog (p_import_key,
|
|
||||||
'E',
|
|
||||||
v_aanduiding,
|
|
||||||
'Deze exacte reservering is al bekend in Facilitor. Geen boeking.');
|
|
||||||
CONTINUE;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- Is dit een op zichzelf staande appointment, of onderdeel van een reeks (recurrence)?
|
-- Is dit een op zichzelf staande appointment, of onderdeel van een reeks (recurrence)?
|
||||||
-- (obv recur_id, die samen met appt_id in res_rsv_ruimte_externnr staat)
|
-- (obv recur_id, die samen met appt_id in res_rsv_ruimte_externnr staat)
|
||||||
v_errorhint := 'Check recurrence';
|
v_errorhint := 'Check recurrence';
|
||||||
@@ -1510,8 +1482,7 @@ AS
|
|||||||
MAX (res_rsv_ruimte_volgnr) + 1
|
MAX (res_rsv_ruimte_volgnr) + 1
|
||||||
INTO v_reservering_key, v_rsv_ruimte_volgnr
|
INTO v_reservering_key, v_rsv_ruimte_volgnr
|
||||||
FROM res_rsv_ruimte
|
FROM res_rsv_ruimte
|
||||||
WHERE res_rsv_ruimte_externnr IS NOT NULL
|
WHERE INSTR(res_rsv_ruimte_externnr,
|
||||||
AND INSTR(res_rsv_ruimte_externnr,
|
|
||||||
rec.appt_id || '|') = 1
|
rec.appt_id || '|') = 1
|
||||||
-- AND res_rsv_ruimte_externnr NOT LIKE '%|'||rec.recur_id||'|%'
|
-- AND res_rsv_ruimte_externnr NOT LIKE '%|'||rec.recur_id||'|%'
|
||||||
AND res_rsv_ruimte_verwijder IS NULL
|
AND res_rsv_ruimte_verwijder IS NULL
|
||||||
@@ -1548,48 +1519,70 @@ AS
|
|||||||
|
|
||||||
v_errorhint := 'Deelreservering aanmaken';
|
v_errorhint := 'Deelreservering aanmaken';
|
||||||
|
|
||||||
-- res_rsv_ruimte aanmaken voor deze appointment+resource
|
BEGIN
|
||||||
INSERT INTO res_rsv_ruimte (res_rsv_ruimte_omschrijving,
|
-- res_rsv_ruimte aanmaken voor deze appointment+resource
|
||||||
res_rsv_ruimte_opmerking,
|
INSERT INTO res_rsv_ruimte (res_rsv_ruimte_omschrijving,
|
||||||
res_rsv_ruimte_externnr,
|
res_rsv_ruimte_opmerking,
|
||||||
res_ruimte_opstel_key,
|
res_rsv_ruimte_externnr,
|
||||||
res_rsv_ruimte_van,
|
res_ruimte_opstel_key,
|
||||||
res_rsv_ruimte_tot,
|
res_rsv_ruimte_van,
|
||||||
prs_kostenplaats_key,
|
res_rsv_ruimte_tot,
|
||||||
res_rsv_ruimte_host_key,
|
prs_kostenplaats_key,
|
||||||
res_activiteit_key,
|
res_rsv_ruimte_host_key,
|
||||||
res_status_fo_key,
|
res_activiteit_key,
|
||||||
res_rsv_ruimte_ordernr,
|
res_status_fo_key,
|
||||||
res_rsv_ruimte_kosten_klant,
|
res_rsv_ruimte_ordernr,
|
||||||
res_rsv_ruimte_contact_key,
|
res_rsv_ruimte_kosten_klant,
|
||||||
res_rsv_ruimte_bezoekers,
|
res_rsv_ruimte_contact_key,
|
||||||
res_reservering_key,
|
res_rsv_ruimte_bezoekers,
|
||||||
res_rsv_ruimte_volgnr,
|
res_reservering_key,
|
||||||
res_status_bo_key)
|
res_rsv_ruimte_volgnr,
|
||||||
VALUES (
|
res_status_bo_key)
|
||||||
SUBSTR (rec.subject, 1, 60),
|
VALUES (
|
||||||
NULL,
|
SUBSTR (rec.subject, 1, 60),
|
||||||
rec.appt_id
|
NULL,
|
||||||
|| '|'
|
rec.appt_id
|
||||||
|| rec.recur_id
|
|| '|'
|
||||||
|| '|'
|
|| rec.recur_id,
|
||||||
|| rec.seq_nr,
|
v_ruimte_opstel_key,
|
||||||
v_ruimte_opstel_key,
|
rec.starttime,
|
||||||
rec.starttime,
|
rec.endtime,
|
||||||
rec.endtime,
|
v_kostenplaats_key,
|
||||||
v_kostenplaats_key,
|
v_perslid_key,
|
||||||
v_perslid_key,
|
c_activiteit_key,
|
||||||
c_activiteit_key,
|
2,
|
||||||
2,
|
NULL,
|
||||||
NULL,
|
1,
|
||||||
1,
|
v_perslid_key,
|
||||||
v_perslid_key,
|
rec.num_bez,
|
||||||
rec.num_bez,
|
v_reservering_key,
|
||||||
v_reservering_key,
|
v_rsv_ruimte_volgnr,
|
||||||
v_rsv_ruimte_volgnr,
|
2)
|
||||||
2)
|
RETURNING res_rsv_ruimte_key
|
||||||
RETURNING res_rsv_ruimte_key
|
INTO v_rsv_ruimte_key;
|
||||||
INTO v_rsv_ruimte_key;
|
EXCEPTION
|
||||||
|
WHEN DUP_VAL_ON_INDEX
|
||||||
|
THEN -- Er bestaat al een reservering met dit externnr
|
||||||
|
IF NOT (v_count > 0) -- Verwijder dan ook het zojuist aangemaakte res_reservering-record weer
|
||||||
|
THEN
|
||||||
|
DELETE FROM res_reservering WHERE res_reservering_key = v_reservering_key;
|
||||||
|
END IF;
|
||||||
|
-- Pas het 'gelukt' bitje aan zodat we hem later niet weer opnieuwe proberen
|
||||||
|
UPDATE exc_import
|
||||||
|
SET gelukt = 2
|
||||||
|
WHERE appt_id || '|' || recur_id =
|
||||||
|
rec.appt_id || '|' || rec.recur_id
|
||||||
|
AND gelukt IS NULL;
|
||||||
|
|
||||||
|
fac.imp_writelog (p_import_key,
|
||||||
|
'E',
|
||||||
|
v_aanduiding,
|
||||||
|
'Deze exacte reservering is al bekend in Facilitor -> Geen boeking.');
|
||||||
|
CONTINUE;
|
||||||
|
WHEN OTHERS
|
||||||
|
THEN
|
||||||
|
RAISE;
|
||||||
|
END;
|
||||||
|
|
||||||
IF (v_debug)
|
IF (v_debug)
|
||||||
THEN
|
THEN
|
||||||
@@ -1751,7 +1744,7 @@ AS
|
|||||||
AND NOT EXISTS
|
AND NOT EXISTS
|
||||||
(SELECT 1
|
(SELECT 1
|
||||||
FROM this_import i
|
FROM this_import i
|
||||||
WHERE INSTR(rr.res_rsv_ruimte_externnr, i.appt_id || '|' || i.recur_id || '|') = 1
|
WHERE rr.res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id
|
||||||
AND r.res_ruimte_extern_id = i.room_id))
|
AND r.res_ruimte_extern_id = i.room_id))
|
||||||
LOOP
|
LOOP
|
||||||
v_errorhint :=
|
v_errorhint :=
|
||||||
|
|||||||
6
FCLT.NMK
6
FCLT.NMK
@@ -60,9 +60,9 @@ PROJEXE=z:\Project\FACILITOR\BUILD
|
|||||||
##
|
##
|
||||||
## New style using schemanumbers
|
## New style using schemanumbers
|
||||||
##
|
##
|
||||||
CURRENTVERSION=42
|
CURRENTVERSION=43
|
||||||
NEXTVERSION=43
|
NEXTVERSION=44
|
||||||
FILEVERSION=b
|
FILEVERSION=d
|
||||||
NEXTCAREVERSION=37
|
NEXTCAREVERSION=37
|
||||||
NEXTROOT=DB$(NEXTVERSION)$(FILEVERSION)
|
NEXTROOT=DB$(NEXTVERSION)$(FILEVERSION)
|
||||||
CURRENTUPDATE=DB$(CURRENTVERSION)to$(NEXTVERSION)
|
CURRENTUPDATE=DB$(CURRENTVERSION)to$(NEXTVERSION)
|
||||||
|
|||||||
@@ -32,6 +32,14 @@ create index res_i_res_rsv_ruimte14 on res_rsv_ruimte (res_rsv_ruimte_kto_verstu
|
|||||||
create index res_i_res_rsv_ruimte15 on res_rsv_ruimte (res_rsv_ruimte_externnr);
|
create index res_i_res_rsv_ruimte15 on res_rsv_ruimte (res_rsv_ruimte_externnr);
|
||||||
create index res_i_res_rsv_ruimte16 on res_rsv_ruimte (mld_opdr_key);
|
create index res_i_res_rsv_ruimte16 on res_rsv_ruimte (mld_opdr_key);
|
||||||
create index res_i_res_rsv_ruimte17 on res_rsv_ruimte (res_rsv_ruimte_parent_key);
|
create index res_i_res_rsv_ruimte17 on res_rsv_ruimte (res_rsv_ruimte_parent_key);
|
||||||
|
CREATE UNIQUE INDEX res_i_res_rsv_ruimte18
|
||||||
|
ON res_rsv_ruimte (CASE
|
||||||
|
WHEN res_rsv_ruimte_verwijder IS NULL
|
||||||
|
THEN
|
||||||
|
res_rsv_ruimte_externnr
|
||||||
|
ELSE
|
||||||
|
NULL
|
||||||
|
END);
|
||||||
|
|
||||||
create index res_i_res_rsv_deel2 on res_rsv_deel(res_deel_key);
|
create index res_i_res_rsv_deel2 on res_rsv_deel(res_deel_key);
|
||||||
create index res_i_res_rsv_deel3 on res_rsv_deel(bez_bezoekers_key);
|
create index res_i_res_rsv_deel3 on res_rsv_deel(bez_bezoekers_key);
|
||||||
|
|||||||
@@ -439,6 +439,38 @@ DELETE FROM fac_groeprechten
|
|||||||
AND f.fac_functie_code = 'WEB_ORDOAP'
|
AND f.fac_functie_code = 'WEB_ORDOAP'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#73722
|
||||||
|
|
||||||
|
// Strip de timestamp (ook maar voor verwijderde records)
|
||||||
|
UPDATE res_rsv_ruimte
|
||||||
|
SET res_rsv_ruimte_externnr =
|
||||||
|
SUBSTR (res_rsv_ruimte_externnr, 1, LENGTH (res_rsv_ruimte_externnr) - 14)
|
||||||
|
WHERE res_rsv_ruimte_externnr IS NOT NULL
|
||||||
|
AND res_rsv_ruimte_externnr NOT LIKE '##iCalUId##%'
|
||||||
|
AND REGEXP_LIKE (res_rsv_ruimte_externnr, '\|\d{13}$');
|
||||||
|
|
||||||
|
// Verwijder de dubbelen op een nette manier die niet de Outlook koppeling aftrapt
|
||||||
|
UPDATE res_rsv_ruimte
|
||||||
|
SET res_rsv_ruimte_externnr = NULL
|
||||||
|
, res_rsv_ruimte_verwijder = SYSDATE
|
||||||
|
WHERE res_rsv_ruimte_externnr IS NOT NULL
|
||||||
|
AND res_rsv_ruimte_verwijder IS NULL
|
||||||
|
AND res_rsv_ruimte_key NOT IN ( SELECT MIN (res_rsv_ruimte_key)
|
||||||
|
FROM res_rsv_ruimte
|
||||||
|
WHERE res_rsv_ruimte_externnr IS NOT NULL
|
||||||
|
AND res_rsv_ruimte_verwijder IS NULL
|
||||||
|
GROUP BY res_rsv_ruimte_externnr);
|
||||||
|
|
||||||
|
// Voeg de nieuwe unieke index toe
|
||||||
|
CREATE UNIQUE INDEX res_i_res_rsv_ruimte18
|
||||||
|
ON res_rsv_ruimte (CASE
|
||||||
|
WHEN res_rsv_ruimte_verwijder IS NULL
|
||||||
|
THEN
|
||||||
|
res_rsv_ruimte_externnr
|
||||||
|
ELSE
|
||||||
|
NULL
|
||||||
|
END);
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
|
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
|
||||||
|
|
||||||
REGISTERONCE('$Id$')
|
REGISTERONCE('$Id$')
|
||||||
|
|||||||
68
_UP/DB44cto44d.sql
Normal file
68
_UP/DB44cto44d.sql
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
--
|
||||||
|
-- $Id$
|
||||||
|
--
|
||||||
|
-- Aanpassingen om DB44c (prod) naar de DB44d te brengen
|
||||||
|
-- Merk op dat de recreate er nog bij komt die de DB-version bijwerkt
|
||||||
|
--
|
||||||
|
-- MOET OOK ZIJN/WORDEN OPGENOMEN IN DB43TO44d.src !!!
|
||||||
|
|
||||||
|
DEFINE thisfile = 'DB44cto44d.sql'
|
||||||
|
DEFINE dbuser = '*'
|
||||||
|
|
||||||
|
SET ECHO ON
|
||||||
|
SET DEFINE ON
|
||||||
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||||
|
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||||
|
WHENEVER SQLERROR CONTINUE;
|
||||||
|
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||||
|
SPOOL &fcltlogfile
|
||||||
|
WHENEVER SQLERROR EXIT;
|
||||||
|
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||||
|
WHENEVER SQLERROR CONTINUE;
|
||||||
|
PROMPT &fcltcusterr
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
------ payload begin ------
|
||||||
|
-- /////////////////////////////////////////////////////////////////////////////////////////// FCLT#73722
|
||||||
|
|
||||||
|
-- Strip de timestamp (ook maar voor verwijderde records)
|
||||||
|
UPDATE res_rsv_ruimte
|
||||||
|
SET res_rsv_ruimte_externnr =
|
||||||
|
SUBSTR (res_rsv_ruimte_externnr, 1, LENGTH (res_rsv_ruimte_externnr) - 14)
|
||||||
|
WHERE res_rsv_ruimte_externnr IS NOT NULL
|
||||||
|
AND res_rsv_ruimte_externnr NOT LIKE '##iCalUId##%'
|
||||||
|
AND REGEXP_LIKE (res_rsv_ruimte_externnr, '\|\d{13}$');
|
||||||
|
|
||||||
|
-- Verwijder de dubbelen op een nette manier die niet de Outlook koppeling aftrapt
|
||||||
|
UPDATE res_rsv_ruimte
|
||||||
|
SET res_rsv_ruimte_externnr = NULL
|
||||||
|
, res_rsv_ruimte_verwijder = SYSDATE
|
||||||
|
WHERE res_rsv_ruimte_externnr IS NOT NULL
|
||||||
|
AND res_rsv_ruimte_verwijder IS NULL
|
||||||
|
AND res_rsv_ruimte_key NOT IN ( SELECT MIN (res_rsv_ruimte_key)
|
||||||
|
FROM res_rsv_ruimte
|
||||||
|
WHERE res_rsv_ruimte_externnr IS NOT NULL
|
||||||
|
AND res_rsv_ruimte_verwijder IS NULL
|
||||||
|
GROUP BY res_rsv_ruimte_externnr);
|
||||||
|
|
||||||
|
-- Voeg de nieuwe unieke index toe
|
||||||
|
CREATE UNIQUE INDEX res_i_res_rsv_ruimte18
|
||||||
|
ON res_rsv_ruimte (CASE
|
||||||
|
WHEN res_rsv_ruimte_verwijder IS NULL
|
||||||
|
THEN
|
||||||
|
res_rsv_ruimte_externnr
|
||||||
|
ELSE
|
||||||
|
NULL
|
||||||
|
END);
|
||||||
|
|
||||||
|
------ payload end ------
|
||||||
|
|
||||||
|
SET DEFINE OFF
|
||||||
|
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||||
|
/
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
SET ECHO OFF
|
||||||
|
SPOOL OFF
|
||||||
|
SET DEFINE ON
|
||||||
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||||
Reference in New Issue
Block a user