65 lines
1.6 KiB
SQL
65 lines
1.6 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Korte beschrijving wat het script doet
|
|
-- Verwijder onterecht aangemaakte contracten.
|
|
--
|
|
DEFINE thisfile = 'LPNL#77267.SQL'
|
|
DEFINE dbuser = '^LPNL'
|
|
|
|
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 ------
|
|
|
|
DECLARE
|
|
CURSOR c IS
|
|
SELECT MAX (cnt_contract_key) cnt_contract_key, cnt_contract_versie
|
|
FROM cnt_contract
|
|
WHERE cnt_contract_versie IS NOT NULL
|
|
AND cnt_contract_verwijder IS NULL
|
|
GROUP BY cnt_contract_nummer_intern, cnt_contract_versie
|
|
HAVING COUNT (*) > 1;
|
|
BEGIN
|
|
FOR rec IN c
|
|
LOOP
|
|
DELETE cnt_kenmerkcontract
|
|
WHERE cnt_contract_key = rec.cnt_contract_key;
|
|
|
|
DELETE cnt_factuurschema
|
|
WHERE cnt_contract_key = rec.cnt_contract_key;
|
|
|
|
DELETE cnt_contract_plaats
|
|
WHERE cnt_contract_key = rec.cnt_contract_key;
|
|
|
|
DELETE cnt_contract
|
|
WHERE cnt_contract_key = rec.cnt_contract_key;
|
|
|
|
DBMS_OUTPUT.put_line('Contract verwijderd: ' || rec.cnt_contract_key );
|
|
END LOOP;
|
|
COMMIT;
|
|
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
|