-- 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_etat_sejour
|
|
ORDER BY code LIMIT 0
|
|
;
|
|
|
|
-- 2/3 : Peuplement de la table temporaire
|
|
INSERT INTO w_dbsetup(
|
|
oid,
|
|
code,
|
|
texte
|
|
)
|
|
VALUES
|
|
(1, '3', 'Sorti(s) non groupé(s)'),
|
|
(1, '4', 'Sorti(s) facturable(s)'),
|
|
(1, '5', 'Sorti(s) non facturé(s) avec facturation partielle'),
|
|
(1, '6', 'Facturé(s) non soldé(s)'),
|
|
(1, '7', 'Soldé(s)'),
|
|
(1, '8', 'Séjour(s) absent(s) dans activité'),
|
|
(1, '9', 'Fictif(s)'),
|
|
(0, '?', 'Non renseigné')
|
|
;
|
|
|
|
-- 3/3 : Màj de la table iCTI
|
|
UPDATE pmsi.t_etat_sejour SET
|
|
code = w_dbsetup.code,
|
|
texte = w_dbsetup.texte
|
|
FROM w_dbsetup
|
|
WHERE w_dbsetup.oid = t_etat_sejour.oid AND w_dbsetup.oid = 0;
|
|
|
|
UPDATE pmsi.t_etat_sejour SET
|
|
texte = w_dbsetup.texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND pmsi.t_etat_sejour.code = w_dbsetup.code
|
|
AND pmsi.t_etat_sejour.texte IS DISTINCT FROM w_dbsetup.texte
|
|
;
|
|
|
|
INSERT INTO pmsi.t_etat_sejour(oid, code, texte)
|
|
SELECT oid, code, texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND oid = 0
|
|
AND oid NOT IN (SELECT oid FROM pmsi.t_etat_sejour)
|
|
;
|
|
|
|
INSERT INTO pmsi.t_etat_sejour(code, texte)
|
|
SELECT code, texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND oid <> 0
|
|
AND code NOT IN (SELECT code FROM pmsi.t_etat_sejour)
|
|
;
|