-- 1/3 : Création de la table temporaire DROP TABLE IF EXISTS w_dbsetup ; CREATE TEMP TABLE w_dbsetup AS SELECT t_rescrit_tarif.oid as keepoid, t_rescrit_tarif.code, t_rescrit_tarif.texte FROM pmsi.t_rescrit_tarif WHERE t_rescrit_tarif.code <> t_rescrit_tarif.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', 'Situation relevant d''une hospitalisation de jour'), (2, '2', 'Pas de Situation relevant d''une hospitalisation de jour') ; -- 3/3 : Màj de la table iCTI UPDATE pmsi.t_rescrit_tarif SET code = w_dbsetup.code, texte = w_dbsetup.texte FROM w_dbsetup WHERE t_rescrit_tarif.oid = w_dbsetup.keepoid AND (1 != 1 OR t_rescrit_tarif.texte IS DISTINCT FROM w_dbsetup.texte OR t_rescrit_tarif.code IS DISTINCT FROM w_dbsetup.code ) ; INSERT INTO pmsi.t_rescrit_tarif (oid,code,texte) SELECT w_dbsetup.keepoid, w_dbsetup.code, w_dbsetup.texte FROM w_dbsetup LEFT JOIN pmsi.t_rescrit_tarif ON t_rescrit_tarif.oid = w_dbsetup.keepoid WHERE t_rescrit_tarif.oid IS NULL ;