-- 1/3 : Création de la table temporaire
|
|
DROP TABLE IF EXISTS w_dbsetup
|
|
;
|
|
|
|
CREATE TEMP TABLE w_dbsetup AS
|
|
SELECT
|
|
oid as keepoid,
|
|
code,
|
|
texte
|
|
FROM activite.t_traitement_epmsi
|
|
ORDER BY code LIMIT 0
|
|
;
|
|
|
|
-- 2/3 : Peuplement de la table temporaire
|
|
INSERT INTO w_dbsetup(
|
|
keepoid,
|
|
code,
|
|
texte
|
|
)
|
|
VALUES
|
|
(0, '**', 'Non renseigné'),
|
|
(41, 'EXHAD', 'PMSI HAD Transmis'),
|
|
(11, 'EXMCO', 'PMSI MCO Transmis'),
|
|
(31, 'EXPSY', 'PMSI PSY Transmis'),
|
|
(21, 'EXSSR', 'PMSI SSR Transmis'),
|
|
(5, 'HPMSI', 'HORS PMSI'),
|
|
(40, 'NEXHAD', 'PMSI HAD Non Transmis'),
|
|
(10, 'NEXMCO', 'PMSI MCO Non Transmis'),
|
|
(30, 'NEXPSY', 'PMSI PSY Non Transmis'),
|
|
(20, 'NEXSSR', 'PMSI SSR Non Transmis')
|
|
;
|
|
|
|
-- 3/3 : Màj de la table iCTI
|
|
UPDATE activite.t_traitement_epmsi SET
|
|
code = w_dbsetup.code,
|
|
texte = w_dbsetup.texte
|
|
FROM w_dbsetup
|
|
WHERE w_dbsetup.keepoid = t_traitement_epmsi.oid AND w_dbsetup.keepoid = 0;
|
|
|
|
UPDATE activite.t_traitement_epmsi SET
|
|
texte = w_dbsetup.texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND activite.t_traitement_epmsi.code = w_dbsetup.code
|
|
AND activite.t_traitement_epmsi.texte IS DISTINCT FROM w_dbsetup.texte
|
|
;
|
|
|
|
INSERT INTO activite.t_traitement_epmsi(oid, code, texte)
|
|
SELECT keepoid, code, texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND keepoid = 0
|
|
AND keepoid NOT IN (SELECT oid FROM activite.t_traitement_epmsi)
|
|
;
|
|
|
|
INSERT INTO activite.t_traitement_epmsi(oid,code,texte)
|
|
SELECT keepoid, code, texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND keepoid <> 0
|
|
AND code NOT IN (SELECT code FROM activite.t_traitement_epmsi)
|
|
;
|