-- 1/3 : Création de la table temporaire DROP TABLE IF EXISTS w_dbsetup ; CREATE TEMP TABLE w_dbsetup AS SELECT CASE WHEN t_etude_2.oid = 0 THEN t_etude_2.oid ELSE 1 END AS oid, t_etude_2.code, t_etude_2.texte, t_etude_2.texte_court FROM pmsi.t_etude_2 ORDER BY t_etude_2.code LIMIT 0 ; -- 2/3 : Peuplement de la table temporaire INSERT INTO w_dbsetup( oid, code, texte, texte_court ) VALUES (1, 'CHIM1', 'Chimiothérapie', 'Chimiothérapie'), (1, 'CHIM2', 'Chimiothérapie ambulatoire en hospitalisation de jour', 'Chimiothérapie ambulatoire en hospitalisation de jour'), (1, 'CHIR1', 'Pathologies mammaires (tumeurs du sein)', 'Pathologies mammaires (tumeurs du sein)'), (1, 'CHIR2', 'Pathologies digestives (tractus digestif, y compris foie, pancréas et voies biliaires)', 'Pathologies digestives (tractus digestif, y compris foie, pancréas et voies biliaires)'), (1, 'CHIR3', 'Pathologies urologiques', 'Pathologies urologiques'), (1, 'CHIR4', 'Pathologies thoraciques', 'Pathologies thoraciques'), (1, 'CHIR5', 'Pathologies gynécologiques', 'Pathologies gynécologiques'), (1, 'CHIR6', 'Pathologies oto-rhino-laryngologiques et maxillo-faciales', 'Pathologies oto-rhino-laryngologiques et maxillo-faciales'), (1, 'RAD1', 'Radiothérapie externe', 'Radiothérapie externe') ; -- 3/3 : Màj de la table iCTI UPDATE pmsi.t_etude_2 SET texte = w_dbsetup.texte, texte_court = w_dbsetup.texte_court FROM w_dbsetup WHERE t_etude_2.code = w_dbsetup.code; INSERT INTO pmsi.t_etude_2(code, texte, texte_court) SELECT w_dbsetup.code, w_dbsetup.texte, w_dbsetup.texte_court FROM w_dbsetup WHERE w_dbsetup.oid <> 0 AND w_dbsetup.code NOT IN (SELECT code FROM pmsi.t_etude_2);