Files
Database/_UP/upd_eenheid.sql
2003-11-25 06:19:18 +00:00

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;