IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Incrément de variable dans un select [9.2]


Sujet :

PostgreSQL

  1. #1
    Invité
    Invité(e)
    Par défaut Incrément de variable dans un select
    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 ?

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    connais tu cette syntaxe ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select blabla into variable
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    J'utiliserais plutôt la fonction RANK(). Voir ici pour plus de détails.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    INSERT INTO customfieldvalue (ID, issue, customfield, textvalue)
         SELECT rank() over( order by issue.ID) 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;
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PL/SQL Variable dans un SELECT
    Par lolo-d dans le forum PL/SQL
    Réponses: 1
    Dernier message: 04/12/2006, 08h17
  2. [PL/SQL] utilisation de variables dans un select?
    Par Dr Kraft dans le forum SQL
    Réponses: 8
    Dernier message: 11/10/2006, 10h17
  3. pb : VIEW avec variable dans le select
    Par seb.briet dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 13/05/2006, 01h57
  4. récupérer une variable dans un select case
    Par rob2-9 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/12/2005, 10h54
  5. Pl/SQL utilisation d'une variable dans un select
    Par larg dans le forum PL/SQL
    Réponses: 17
    Dernier message: 30/11/2004, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo