Toon posts:

[PostgreSQL] aangepaste autonummering

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,

Ik ben op het moment op school bezig met PostgreSQL, maar zit op het moment vast.
Het gaat over het volgende :

Ik wil namelijk autonummering op een veld zetten, en er moeten 2 vaste tekens (filiaalcode) voor de autonummering komen.

voorbeeld: 01_003 waarbij 01 de vaste tekens zijn, en de 003 de autonummering.

Ik heb gehoord dat het mogelijk is, maar heb nog niet op internet kunnen vinden hoe ik moet doen. :'(

Ik hoop dat jullie me verder kunnen helpen.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

De gewezen oplossing is natuurlijk deze gegevens samenvoegen bij het uitlezen en niet bij het opslaan.
Waarom wil je het zo opslaan?

Who is John Galt?


Verwijderd

Topicstarter
ja daar had ik al aan gedacht, maar ik krijg problemen met de integriteit als ik daar een tabel voor aanmaak.

Verwijderd

Zoiets moet wel lukken met een stored procedure die het id levert, ipv serial.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Verwijderd schreef op 20 March 2003 @ 15:55:
ja daar had ik al aan gedacht, maar ik krijg problemen met de integriteit als ik daar een tabel voor aanmaak.
:?
Dat lijkt me niet nodig, kun je het datamodel toelichten?

Who is John Galt?


  • xoror
  • Registratie: November 1999
  • Niet online
Wat je kan doen is een sequence maken die je autonummering bijhoudt.

daarnaast kan je denk ik best een stored proc maken die het volgende 'nummer' geeft.
in de stored proc roep je nexval(sequence) aan en append je die met 001.


je kan het ook als trigger implementeren. moet je voor before insert doen. het idee is het zelfde.

Mitsubishi Warmtepomp Uitlezen / Besturen | Optimaliseren


  • jochemd
  • Registratie: November 2000
  • Laatst online: 08-08 15:51
Probeer dit eens:

CREATE SEQUENCE tablename_seq;
CREATE TABLE tablename (
columnname TEXT DEFAULT ('001_' || nextval('tablename_seq')) PRIMARY KEY,
more columns
) WITHOUT OIDs;

Verwijderd

Topicstarter
ok bedank iedereen voor de input.
Ik heb het al voorelkaar gekregen.
Pagina: 1