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'.
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 |