--  aads7to8
--
--
SET ECHO ON
SPOOL aads7to8.lst
PROMPT $Revision$
ALTER SESSION SET nls_territory='america';
SET DEFINE OFF


-- maak generieke ruimtesoorten aan
INSERT INTO alg_srtruimte
(
    alg_srtruimte_omschrijving, alg_srtruimte_code, prs_verhuurbaar
)
   SELECT srtruimte, SUBSTR (srtruimte, 1, 10), 1
   FROM (SELECT DISTINCT
                SUBSTR (alg_srtruimte_omschrijving,
                        INSTR (alg_srtruimte_omschrijving, ' ') + 1,
                          INSTR (alg_srtruimte_omschrijving, ' ', 1, 2)
                        - INSTR (alg_srtruimte_omschrijving, ' ')
                        - 1
                )
                   srtruimte
         FROM alg_srtruimte 
         WHERE fac.safe_to_number(SUBSTR (REPLACE (alg_srtruimte_omschrijving,
                                                   ',',
                                                   ''
                                          ),
                                          1,
                                          6
                                  )) IS NOT NULL
          and alg_srtruimte_verwijder is null) x
   WHERE NOT EXISTS (SELECT alg_srtruimte_key
                     FROM alg_srtruimte sr
                     WHERE sr.alg_srtruimte_omschrijving = x.srtruimte)
         AND srtruimte IS NOT NULL;
         

-- toevoegen alg_srtruimte_locatiegebouw
INSERT INTO alg_srtruimte_locatiegebouw
(
    alg_srtruimte_key, alg_gebouw_key, alg_srtruimte_lg_prijs, alg_srtruimte_lg_prijs2, alg_srtruimte_lg_prijs3, alg_srtruimte_lg_prijs4, alg_srtruimte_lg_prijs5
)
   SELECT alg_srtruimte_newkey,
          alg_gebouw_key,
          MAX (alg_srtruimte_prijs),
          MAX (alg_srtruimte_prijs2),
          MAX (alg_srtruimte_prijs3),
          MAX (alg_srtruimte_prijs4),
          MAX (alg_srtruimte_prijs5)
   FROM (SELECT alg_srtruimte_newkey,
                alg_gebouw_key,
                alg_srtruimte_prijs,
                alg_srtruimte_prijs2,
                alg_srtruimte_prijs3,
                alg_srtruimte_prijs4,
                alg_srtruimte_prijs5
         FROM (SELECT (SELECT alg_srtruimte_key
                       FROM alg_srtruimte srn
                       WHERE SUBSTR (sr.alg_srtruimte_omschrijving,
                                     INSTR (sr.alg_srtruimte_omschrijving,
                                            ' '
                                     )
                                     + 1,
                                     INSTR (sr.alg_srtruimte_omschrijving,
                                            ' ',
                                            1,
                                            2
                                     )
                                     - INSTR (sr.alg_srtruimte_omschrijving,
                                              ' '
                                       )
                                     - 1
                             ) = srn.alg_srtruimte_omschrijving)
                         alg_srtruimte_newkey,
                      alg_gebouw_key,
                      sr.alg_srtruimte_prijs,
                      sr.alg_srtruimte_prijs2,
                      sr.alg_srtruimte_prijs3,
                      sr.alg_srtruimte_prijs4,
                      sr.alg_srtruimte_prijs5
               FROM alg_v_aanwezigsrtruimte sr, alg_gebouw g
               WHERE SUBSTR (REPLACE (sr.alg_srtruimte_code, '-', ''), 1, 6) =
                        REPLACE (alg_gebouw_code, '-', ''))
         WHERE alg_srtruimte_newkey IS NOT NULL)
   GROUP BY alg_srtruimte_newkey, alg_gebouw_key;

CREATE VIEW tmp_update_ruimte (
   alg_srtruimte_key,
   alg_ruimte_key
   )
AS
   SELECT alg_srtruimte_newkey, alg_ruimte_key
   FROM (SELECT (SELECT alg_srtruimte_key
                 FROM alg_srtruimte srn
                 WHERE SUBSTR (sr.alg_srtruimte_omschrijving,
                               INSTR (sr.alg_srtruimte_omschrijving, ' ') + 1,
                               INSTR (sr.alg_srtruimte_omschrijving,
                                      ' ',
                                      1,
                                      2
                               )
                               - INSTR (sr.alg_srtruimte_omschrijving, ' ')
                               - 1
                       ) = srn.alg_srtruimte_omschrijving)
                   alg_srtruimte_newkey,
                alg_ruimte_key,
                sr.alg_srtruimte_omschrijving,
                sr.alg_srtruimte_key,
                alg_gebouw_key
         FROM alg_v_aanwezigsrtruimte sr, alg_gebouw g, alg_ruimte r
         WHERE SUBSTR (REPLACE (sr.alg_srtruimte_code, '-', ''), 1, 6) =
                  REPLACE (alg_gebouw_code, '-', '')
               AND r.alg_srtruimte_key = sr.alg_srtruimte_key);

-- pas het ruimtesoort bij de ruimte aan
UPDATE alg_ruimte r
SET alg_srtruimte_key   =
       (SELECT alg_srtruimte_key
        FROM tmp_update_ruimte ur
        WHERE ur.alg_ruimte_key = r.alg_ruimte_key)
WHERE alg_ruimte_key IN (SELECT alg_ruimte_key
                         FROM tmp_update_ruimte ur
                         WHERE ur.alg_ruimte_key = r.alg_ruimte_key)
                         
                         
-- verwijder overbodig geworden ruimtesoorten.
DELETE alg_srtruimte sr
WHERE NOT EXISTS (SELECT alg_ruimte_key
                  FROM alg_ruimte r
                  WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key);


drop view tmp_update_ruimte;

SPOOL OFF
@aads.sql