73 lines
1.7 KiB
SQL
73 lines
1.7 KiB
SQL
set echo on
|
|
SPOOL eenheid.log
|
|
show user
|
|
|
|
|
|
-- Omschrijving van prs_afdeling gaat naar 60 posities.
|
|
ALTER TABLE prs_afdeling
|
|
MODIFY prs_afdeling_omschrijving VARCHAR2(60);
|
|
|
|
-- Voeg de huidige BU's toe als afdeling op niveau 0.
|
|
-- Eerst moet PRS_R_PRS_EENHEID_KEY constraint op prs_afdeling gedropped worden
|
|
-- deze houdt toevoegen afdelingen zonder prs_eenheid_key tegen.
|
|
|
|
ALTER TABLE prs_afdeling
|
|
DROP CONSTRAINT prs_r_prs_eenheid_key;
|
|
|
|
ALTER TABLE prs_afdeling
|
|
DROP CONSTRAINT prs_c_prs_eenheid_key;
|
|
|
|
ALTER TABLE prs_afdeling
|
|
DROP CONSTRAINT prs_u_prs_afdeling_upper;
|
|
|
|
|
|
DECLARE
|
|
CURSOR c1 IS
|
|
SELECT prs_eenheid_key,
|
|
prs_eenheid_code,
|
|
prs_eenheid_omschrijving,
|
|
prs_bedrijf_key
|
|
FROM prs_v_aanwezigeenheid;
|
|
|
|
rec1 c1% rowtype;
|
|
afdeling_key NUMBER(10);
|
|
|
|
BEGIN
|
|
FOR rec1 IN c1
|
|
LOOP
|
|
BEGIN
|
|
SELECT NVL(max(prs_afdeling_key),0) + 1
|
|
INTO afdeling_key
|
|
FROM prs_afdeling;
|
|
|
|
INSERT INTO prs_afdeling(
|
|
prs_afdeling_key
|
|
,prs_afdeling_naam
|
|
,prs_afdeling_omschrijving
|
|
,prs_bedrijf_key)
|
|
values (
|
|
afdeling_key
|
|
,rec1.prs_eenheid_code
|
|
,rec1.prs_eenheid_omschrijving
|
|
,rec1.prs_bedrijf_key);
|
|
--
|
|
UPDATE prs_afdeling
|
|
SET prs_afdeling_parentkey = afdeling_key
|
|
WHERE prs_eenheid_key = rec1.prs_eenheid_key
|
|
AND prs_eenheid_key <> 0;
|
|
--
|
|
COMMIT;
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
ALTER TABLE prs_afdeling
|
|
ADD CONSTRAINT prs_u_prs_afdeling_upper UNIQUE(prs_afdeling_upper, prs_afdeling_parentkey, prs_afdeling_verwijder);
|
|
|
|
DROP view prs_v_aanwezigeenheid;
|
|
-- This should be done after checking the content prs_afdeling_parentkey in prs_afdeling
|
|
|
|
-- DELETE FROM prs_eenheid;
|
|
-- DROP TABLE prs_eenheid;
|