problema con autoincremento nextval

From: barbara cioppa <barbara_cioppa(at)yahoo(dot)com>
To: "pgsql-it-generale(at)postgresql(dot)org" <pgsql-it-generale(at)postgresql(dot)org>
Subject: problema con autoincremento nextval
Date: 2012-01-13 11:25:54
Message-ID: 1326453954.52470.YahooMailNeo@web45110.mail.sp1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-it-generale

Salve a tutti,
spero di essere nella mailing list giusta.
Ho bisogno di creare una colonna autoincrementale, la classica ID.
Ho creato una sequenza numID e il codice sql generato dal mio PGAdmin III ver 1.12.3, è il seguente:
CREATE SEQUENCE "Pratiche"."numID"
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
ALTER TABLE "Pratiche"."numID" OWNER TO postgres;
GRANT ALL ON TABLE "Pratiche"."numID" TO postgres;
GRANT ALL ON TABLE "Pratiche"."numID" TO public;
COMMENT ON SEQUENCE "Pratiche"."numID" IS 'uso per creare id autoincrementali';

a questo punto da una delle tabelle che necessitano di un campo autoincrementale, scrivo nel campo dell'interfaccia "valore predefinito" dell'attributo ID della tab. pratica  nextval('numID'), così diventa
ID integer not null default nextval('numID')
ma quando premo ok mi appare un popup "si è verificato un errore, error relation numid  does not exist".

Dove sbaglio?
Inoltre se due tabelle, supponiamo A e B necessitano di un campo autoincrementale come faccio ad usare la stessa sequenza? Se con A sono arrivata al num. 10 su B se chiamo nextval, ottengo 11 oppure memorizza il valore che dovrebbe chiamare B senza tener conto di A. 
Esempio su A nextval  (SEQx) -->1
                A nextval  (SEQx)  --->2
                A nextval  (SEQx) --->3
                b nextval  (SEQx) -->1 O 4?

GRAZIE MILLE A CHI MI RISPONDERA'.

Responses

Browse pgsql-it-generale by date

  From Date Subject
Next Message Alessio Gennari 2012-01-13 13:12:47 Re: problema con autoincremento nextval
Previous Message gabriele.bartolini 2011-11-07 13:04:13 PGDay 2011: pubblicato il programma