-- 1/3 : Création de la table temporaire DROP TABLE IF EXISTS w_dbsetup ; CREATE TEMP TABLE w_dbsetup AS SELECT CASE WHEN oid = 0 THEN oid ELSE 1 END AS oid, code, texte FROM pmsi.t_ghm_da ORDER BY code LIMIT 0 ; -- 2/3 : Peuplement de la table temporaire INSERT INTO w_dbsetup( oid, code, texte ) VALUES (1, 'D01', 'Digestif'), (1, 'D02', 'Orthopédie traumatologie'), (1, 'D03', 'Traumatismes multiples ou complexes graves'), (1, 'D04', 'Rhumatologie'), (1, 'D05', 'Système nerveux (hors cathétérismes vasculaires diagnostiques et interventionnels)'), (1, 'D06', 'Cathétérismes vasculaires diagnostiques et interventionnels'), (1, 'D07', 'Cardio-vasculaire (hors cathétérismes vasculaires diagnostiques et interventionnels)'), (1, 'D09', 'Pneumologie'), (1, 'D10', 'ORL, Stomatologie'), (1, 'D11', 'Ophtalmologie'), (1, 'D12', 'Gynécologie - sein'), (1, 'D13', 'Obstétrique'), (1, 'D14', 'Nouveau-nés et période périnatale'), (1, 'D15', 'Uro-néphrologie et génital '), (1, 'D16', 'Hématologie'), (1, 'D17', 'Chimiothérapie, radiothérapie, hors séances'), (1, 'D18', 'Maladies infectieuses (dont VIH)'), (1, 'D19', 'Endocrinologie'), (1, 'D20', 'Tissu cutané et tissu sous-cutané'), (1, 'D21', 'Brûlures'), (1, 'D22', 'Psychiatrie'), (1, 'D23', 'Toxicologie, Intoxications, Alcool'), (1, 'D24', 'Douleurs chroniques, Soins palliatifs'), (1, 'D25', 'Transplant. d''organes'), (1, 'D26', 'Activités inter spécialités, suivi thérapeutique d''affections connues'), (1, 'D27', 'Séances'), (1, 'D90', 'Séjours en erreur') ; -- 3/3 : Màj de la table iCTI UPDATE pmsi.t_ghm_da SET code = w_dbsetup.code FROM w_dbsetup WHERE t_ghm_da.oid = w_dbsetup.oid AND w_dbsetup.oid = 0; UPDATE pmsi.t_ghm_da SET texte = w_dbsetup.texte FROM w_dbsetup WHERE t_ghm_da.code = w_dbsetup.code AND ( t_ghm_da.texte IS DISTINCT FROM w_dbsetup.texte ); INSERT INTO pmsi.t_ghm_da(oid, code, texte) SELECT oid, code, texte FROM w_dbsetup WHERE oid = 0 AND oid NOT IN (SELECT oid FROM pmsi.t_ghm_da); INSERT INTO pmsi.t_ghm_da(code, texte) SELECT code, texte FROM w_dbsetup WHERE oid <> 0 AND code NOT IN (SELECT code FROM pmsi.t_ghm_da);