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 :

fonction pour parcourir une table / mettre à jour un champ avec valeur incrementee


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Par défaut fonction pour parcourir une table / mettre à jour un champ avec valeur incrementee
    Bonjour,

    Je patouille car je n'ai jamais fait ça directement dans le SGBD/PgAdmin, mais j'imagine que ça se fait.
    D'ailleurs à part des triggers, je n'ai jamais écrit de fonction dans postgres (en mysql je me fais des scripts php pour charger/parcourir/updater le recordset mais là je n'ai pas de moteur php sur le serveur utilisé)


    Je cherche à remplir un champ vide avec une valeur incrémentée de 1 à chaque enregistrement.
    L'idée est de parcourir la table et de faire un update sur chaque enregistrement, du genre :

    Tant que fin de table pas atteinte
    positionne sur l'enregistrement
    update le champ avec la valeur i
    incrémente i de 1
    enregistrement suivant
    ...en boucle

    Si une bonne âme voulait bien m'aider à m'orienter... 2h que je parcours différents forums + la doc de pgsql mais je n'avance pas...

    Merci )

    G.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    Il suffit d'utiliser la fonction de fenêtrage ROW_NUMBER dans une CTE de mise à jour.
    1) fonction de fenêtrage : https://sqlpro.developpez.com/articl...clause-window/
    2) CTE : https://sqlpro.developpez.com/cours/...te-recursives/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Package ou fonction pour colorier une table de sortie
    Par joyeux_lapin13 dans le forum R
    Réponses: 18
    Dernier message: 09/08/2011, 11h17
  2. Mettre à jour un champ avec une Liste déroulante
    Par Narutosaad dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2010, 12h18
  3. [MySQL] Boucle pour parcourir une table
    Par razorlok dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/09/2008, 17h12
  4. Réponses: 6
    Dernier message: 28/12/2004, 16h09

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