Bonjour,

J'ai un script SQL qui a pour objectif d'importer des données CSV et de les injecter dans une table en incrémentant la valeur de l'id (pas de sequence sur la table).

En MySQL, cela donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TEMPORARY TABLE tmp_import_nfeed (pkey text, cfname text, cfvalue text);
 
LOAD DATA INFILE '/home/guest/sql.csv' INTO TABLE tmp_import_nfeed FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES ;
 
SELECT @i:=MAX(customfieldvalue.id) FROM customfieldvalue;
 
INSERT INTO customfieldvalue (`ID`,`issue`,`customfield`,`textvalue`)
     SELECT @i:=@i+1 AS ID, issue.ID AS issue, customfield.ID AS customfield, tmp_import_nfeed.cfvalue AS textvalue
     FROM tmp_import_nfeed
     INNER JOIN customfield ON customfield.cfname = tmp_import_nfeed.cfname
     INNER JOIN issue ON jiraissue.pkey = tmp_import_nfeed.pkey;
 
DROP TABLE tmp_import_nfeed;
J'ai trouvé la requête d'import CSV :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
COPY tmp_import_nfeed FROM '/home/guest/sql.csv' WITH DELIMITER ',' CSV HEADER;
Le problème est que je ne trouve pas l'équivalent pgSQL pour variabiliser mes requêtes.

Auriez-vous une idée ?