Bonjour,
Je voudrai confronter mon fichier et les paramètres de conf qui sont au début pour import export de données.
J’importe des données à partir d’un fichier CSV.
Je le traite, complète et injecte les données dans une base de donnée PostgreSQL.
Le but est de s’assurer que ma procédure est bonne et que je n’oublie rien dans mes paramètres de conf au début du fichier.
Voici comment commence mon fichier:
SET statement_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
Et voici une idée des commandes que je vais passer après.
[code]DROP TABLE IF EXISTS ligne;
CREATE TABLE ligne
(
ligne character varying(700)
);
– Import de ligne
COPY ligne FROM ‘proc/import/ligne.TXT’;
– Table d’import de ligne avec colonnes éclatées
DROP TABLE IF EXISTS ligne;
CREATE TABLE ligne(
champ01 character varying(255),
champ02 character varying(255),
champ03 character varying(255),
…
);
INSERT INTO ligne
(
champ01,
champ02,
champ03,
…
);
SELECT
SUBSTR(TRIM(split_part(ligne, ‘|’, 1)),1,255),
SUBSTR(TRIM(split_part(ligne, ‘|’, 2)),1,255),
SUBSTR(TRIM(split_part(ligne, ‘|’, 3)),1,255)
FROM ligne;
– Nettoyage de la table ligne
– Suppression des lignes d’en-tête
DELETE FROM ligne WHERE COALESCE(champ01, ‘’) <> ‘’;
–DELETE FROM ligne WHERE champ02 = ‘Sel’;
– Alimentation de la table normée
DROP TABLE IF EXISTS ligne;
CREATE TABLE ligne (
se character varying(10),
fournisseur_id character varying(10),
fournisseur_nom character varying(50),
);
[/code]
Je vais probablement aussi mettre des commandes comme ceci.
SELECT DISTINCT ON (ligne01.idreg, deploiement_phase1.idreg)
ligne01.idreg, -- integer NOT NULL,
deploiement_phase1.date_deploiement::date - interval '60 days' , -- date NOT NULL , -- date (jj/mm/aaaa) OUI Date de première connexion fournisseur
CASE
WHEN ligne01.codenature = 'A' THEN 'RA'
WHEN ligne01.codenature = 'R' THEN 'RR'
WHEN ligne01.codenature = 'AR' THEN 'RAR'
ELSE ''
END, -- character varying(10) NO
...
…