banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 19 September 2012 12:20

xav
Participant assidu
Date d'inscription: 27 Oct 2005
Messages: 280

[Postgres] Modifier la valeur actuele d'une sequance

Bonjour,

j'ai des tables dans Postgres dont les séquences associées au champs serial n'ont pas la bonne valeur.
Je souhaiterais donc modifier la valeur actuel de la séquence en fonction de la valeur max de mon champ.

J'ai tenté une requête du type :
ALTER SEQUENCE ma_sequence
RESTART WITH (select max(mon_id) from ma_table)

mais à priori le select n'est pas accepté dans cette requête.

Savez-vous s'il existe un moyen de faire cela avec une requête ?

Merci d'avance


Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique

Hors ligne

 

#2 Wed 19 September 2012 13:19

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1233
Site web

Re: [Postgres] Modifier la valeur actuele d'une sequance

Bonjour,

Une sous-requête ne semble pas possible dans cette instruction.

Par contre, en adaptant cet exemple : http://blog.endpoint.com/2010/07/postgr … ction.html

J'ai pu faire ceci :

Code:

CREATE FUNCTION exec(text) RETURNS text AS $$ BEGIN EXECUTE $1; RETURN $1; END $$ LANGUAGE plpgsql;

SELECT exec('ALTER SEQUENCE test_seq_id_seq RESTART WITH '||(SELECT max(id)) FROM table2));

-> "ALTER SEQUENCE test_seq_id_seq RESTART WITH 158436"

Dernière modification par Mathieu BOSSAERT (Wed 19 September 2012 13:29)


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#3 Wed 19 September 2012 14:19

xav
Participant assidu
Date d'inscription: 27 Oct 2005
Messages: 280

Re: [Postgres] Modifier la valeur actuele d'une sequance

Je test ça

Merci pour l'info et bonne journée


Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique

Hors ligne

 

Pied de page des forums

Powered by FluxBB