-- 1/3 : Création de la table temporaire DROP TABLE IF EXISTS w_dbsetup ; CREATE TEMP TABLE w_dbsetup AS SELECT code, CASE WHEN oid = 0 THEN oid ELSE 1 END AS oid, texte FROM pmsi.t_association_non_prevue ORDER BY code LIMIT 0 ; -- 2/3 : Peuplement de la table temporaire INSERT INTO w_dbsetup( code, oid, texte ) VALUES ('1', 1, 'Acte principal le plus onéreux qui doit être facturé à 100%'), ('2', 1, 'Acte associé facturé à 50% de sa valeur'), ('3', 1, 'Acte associé facturé à 75% de sa valeur'), ('4', 1, 'Acte de la meme seance facture a 100% '), ('5', 1, 'Acte non continu de la même journée facturé à 100% '), ('**', 0, 'Non renseigné') ; -- 3/3 : Màj de la table iCTI UPDATE pmsi.t_association_non_prevue SET code = w_dbsetup.code FROM w_dbsetup WHERE t_association_non_prevue.oid = w_dbsetup.oid AND w_dbsetup.oid = 0; UPDATE pmsi.t_association_non_prevue SET texte = w_dbsetup.texte FROM w_dbsetup WHERE t_association_non_prevue.code = w_dbsetup.code; INSERT INTO pmsi.t_association_non_prevue(oid, code, texte) SELECT oid, code, texte FROM w_dbsetup WHERE oid = 0 AND oid NOT IN (SELECT oid FROM pmsi.t_association_non_prevue); INSERT INTO pmsi.t_association_non_prevue(code, texte) SELECT code, texte FROM w_dbsetup WHERE oid <> 0 AND code NOT IN (SELECT code FROM pmsi.t_association_non_prevue);