-- 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
;