-- 1/3 : Création de la table temporaire DROP TABLE IF EXISTS w_dbsetup ; CREATE TEMP TABLE w_dbsetup AS SELECT t_contexte_pat.oid as keepoid, t_contexte_pat.code, t_contexte_pat.texte FROM pmsi.t_contexte_pat WHERE t_contexte_pat.code <> t_contexte_pat.texte ORDER BY code LIMIT 0 ; -- 2/3 : Peuplement de la table temporaire INSERT INTO w_dbsetup( keepoid, code, texte ) VALUES (0, '', 'Non renseigné'), (1, '1', 'Prise en charge avec contexte particulier ou surveillance particulière'), (2, '2', 'Pas de prise en charge avec contexte particulier ou surveillance particulière') ; -- 3/3 : Màj de la table iCTI UPDATE pmsi.t_contexte_pat SET code = w_dbsetup.code, texte = w_dbsetup.texte FROM w_dbsetup WHERE t_contexte_pat.oid = w_dbsetup.keepoid AND (1 != 1 OR t_contexte_pat.texte IS DISTINCT FROM w_dbsetup.texte OR t_contexte_pat.code IS DISTINCT FROM w_dbsetup.code ) ; INSERT INTO pmsi.t_contexte_pat (oid,code,texte) SELECT w_dbsetup.keepoid, w_dbsetup.code, w_dbsetup.texte FROM w_dbsetup LEFT JOIN pmsi.t_contexte_pat ON t_contexte_pat.oid = w_dbsetup.keepoid WHERE t_contexte_pat.oid IS NULL ;