117 lines
5.4 KiB
SQL
117 lines
5.4 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Opschonen technisch adressen tbv opdrachten. Alles op 'Geen/Overige opdrachten' & dubbelingen verwijderd.
|
|
|
|
DEFINE thisfile = 'PCHP#53258'
|
|
DEFINE dbuser = '^PCHP'
|
|
DEFINE custid = '^PCHP'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SPOOL &fcltlogfile
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
-- Dit zet de instelling op 'Geen/Overige opdrachten' wanneer 1 technische adressen is obv Opdracht
|
|
UPDATE prs_bedrijfadres
|
|
SET mld_typeopdr_key = NULL
|
|
WHERE prs_bedrijf_key IN
|
|
(SELECT a.prs_bedrijf_key
|
|
FROM ( SELECT ta.prs_bedrijf_key,
|
|
COUNT (ta.prs_bedrijf_key) AS aantal
|
|
FROM prs_bedrijfadres ta
|
|
WHERE ta.prs_bedrijfadres_type = 'O'
|
|
GROUP BY ta.prs_bedrijf_key
|
|
ORDER BY ta.prs_bedrijf_key) telling,
|
|
prs_bedrijfadres a
|
|
WHERE a.prs_bedrijf_key = telling.prs_bedrijf_key
|
|
AND telling.aantal = 1
|
|
AND a.prs_bedrijfadres_type = 'O'
|
|
AND mld_typeopdr_key IS NOT NULL);
|
|
|
|
-- Dit verwijder de technische adressen die ingesteld staan op anders dan 'Geen/Overige opdrachten' wanneer er meer dan 1 technische adressen is obv Opdracht
|
|
DELETE FROM prs_bedrijfadres
|
|
WHERE prs_bedrijf_key IN
|
|
(SELECT a.prs_bedrijf_key
|
|
FROM ( SELECT ta.prs_bedrijf_key,
|
|
COUNT (ta.prs_bedrijf_key) AS aantal
|
|
FROM prs_bedrijfadres ta
|
|
WHERE ta.prs_bedrijfadres_type = 'O'
|
|
GROUP BY ta.prs_bedrijf_key
|
|
ORDER BY ta.prs_bedrijf_key) telling,
|
|
( SELECT ta.prs_bedrijf_key,
|
|
COUNT (ta.prs_bedrijfadres_xsl) AS aantal,
|
|
ta.prs_bedrijfadres_xsl
|
|
FROM prs_bedrijfadres ta
|
|
WHERE ta.prs_bedrijfadres_type = 'O'
|
|
GROUP BY ta.prs_bedrijf_key,
|
|
ta.prs_bedrijfadres_xsl
|
|
ORDER BY prs_bedrijf_key) xsl,
|
|
( SELECT ta.prs_bedrijf_key,
|
|
COUNT (ta.prs_bedrijfadres_attachfile)
|
|
AS aantal,
|
|
ta.prs_bedrijfadres_attachfile
|
|
FROM prs_bedrijfadres ta
|
|
WHERE ta.prs_bedrijfadres_type = 'O'
|
|
GROUP BY ta.prs_bedrijf_key,
|
|
ta.prs_bedrijfadres_attachfile
|
|
ORDER BY prs_bedrijf_key) attachfile,
|
|
( SELECT ta.prs_bedrijf_key,
|
|
COUNT (ta.prs_bedrijfadres_ordermode)
|
|
AS aantal,
|
|
ta.prs_bedrijfadres_ordermode
|
|
FROM prs_bedrijfadres ta
|
|
WHERE ta.prs_bedrijfadres_type = 'O'
|
|
GROUP BY ta.prs_bedrijf_key,
|
|
ta.prs_bedrijfadres_ordermode
|
|
ORDER BY prs_bedrijf_key) ordermode,
|
|
( SELECT ta.prs_bedrijf_key,
|
|
COUNT (ta.prs_bedrijfadres_url) AS aantal,
|
|
ta.prs_bedrijfadres_url
|
|
FROM prs_bedrijfadres ta
|
|
WHERE ta.prs_bedrijfadres_type = 'O'
|
|
GROUP BY ta.prs_bedrijf_key,
|
|
ta.prs_bedrijfadres_url
|
|
ORDER BY prs_bedrijf_key) url,
|
|
prs_bedrijfadres a
|
|
WHERE a.prs_bedrijf_key = telling.prs_bedrijf_key
|
|
AND telling.aantal > 1
|
|
AND a.prs_bedrijfadres_type = 'O'
|
|
AND a.mld_typeopdr_key IS NOT NULL
|
|
AND url.prs_bedrijf_key = a.prs_bedrijf_key
|
|
AND url.aantal > 1
|
|
AND xsl.prs_bedrijf_key = a.prs_bedrijf_key
|
|
AND xsl.aantal > 1
|
|
AND ordermode.prs_bedrijf_key = a.prs_bedrijf_key
|
|
AND ordermode.aantal > 1
|
|
AND attachfile.prs_bedrijf_key = a.prs_bedrijf_key
|
|
AND attachfile.aantal > 1)
|
|
AND prs_bedrijfadres_type = 'O'
|
|
AND mld_typeopdr_key IS NOT NULL;
|
|
|
|
UPDATE prs_bedrijfadres
|
|
SET prs_bedrijfadres_attachfile = 'Alg. inkoopvoorwaarden PCH PFS.pdf'
|
|
WHERE prs_bedrijfadres_type = 'O'
|
|
AND SUBSTR (prs_bedrijfadres_url, 1, 7) = 'mailto:'
|
|
AND (prs_bedrijfadres_attachfile <>
|
|
'Alg. inkoopvoorwaarden PCH PFS.pdf'
|
|
OR prs_bedrijfadres_attachfile IS NULL);
|
|
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptid('$Id$'); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile |