Re: problema con autoincremento nextval

From: Alessio Gennari <alessio(dot)gennari78(at)gmail(dot)com>
To: barbara cioppa <barbara_cioppa(at)yahoo(dot)com>
Cc: Torello Querci <tquerci(at)gmail(dot)com>, "pgsql-it-generale(at)postgresql(dot)org" <pgsql-it-generale(at)postgresql(dot)org>
Subject: Re: problema con autoincremento nextval
Date: 2012-01-18 10:15:17
Message-ID: CAG0sfBXuO4AdjBDieAi7J+vJONBXkUkG5+YdFW3NRhJX0Oj1gw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-it-generale

Credo sia una limitazione del pgAdminIII.

L'unico modo per cambiare quel campo è un alter. Però, se quel campo è
oggetto di una foreign key proveniente da un'altra tabella, credo che
l'alter non possa funzionare.

2012/1/18 barbara cioppa <barbara_cioppa(at)yahoo(dot)com>

> Salve ancora,
> ho aggiornato pgAdmin III alla 1.14.1 , il problema è che se aggiungo un
> campo posso metterlo di tipo serial,mentre non posso cambiare il tipo di ID
> in nessun modo, nè con l'interfaccia nè con l'sql.
> Questo non l'ho capito. Inoltre non posso eliminare l'id perchè da quel
> campo dipendono diverse tabelle per la referential integrity quindi dovfrei
> cancellare i riferimenti in cascata (che non mi ricordo nemmeno la
> sintassi).
> Perchè non posso cambiare il tipo in serial? Non me lo da come opzione sui
> tipi di dato.
>
>
> ------------------------------
> *From:* Torello Querci <tquerci(at)gmail(dot)com>
> *To:* Alessio Gennari <alessio(dot)gennari78(at)gmail(dot)com>
> *Cc:* barbara cioppa <barbara_cioppa(at)yahoo(dot)com>; "
> pgsql-it-generale(at)postgresql(dot)org" <pgsql-it-generale(at)postgresql(dot)org>
> *Sent:* Friday, January 13, 2012 2:22 PM
>
> *Subject:* Re: [pgsql-it-generale] problema con autoincremento nextval
>
>
>
> Il giorno 13 gennaio 2012 14:12, Alessio Gennari <
> alessio(dot)gennari78(at)gmail(dot)com> ha scritto:
>
> Ciao Barbara,
> innanzitutto sarebbe importante sapere che versione di postgres stai
> utilizzando, comunque prova a fare così:
>
> ID integer not null default nextval( "Pratiche"."numID"::regclass)
>
> Questa è la sintassi per il postgres 9.
>
> Per quanto riguarda l'utilizzo dello stesso sequence su due tabelle
> differenti non so se abbia senso, io personalmente non l'ho mai fatto. Se
> si potesse fare comunque il sequence andrebbe sempre in avanti ignorando la
> tabella da cui è stato invocato. In parole povere non potrai mai avere uno
> stesso id in entrambe le tabelle.
>
> Se può fare e il comportamento è proprio quello da te descritto, ovvero
> viene staccato un ID univoco indipendente dalla tabella dove è stato usato.
>
> Esistono molti casi in cui questo può essere utile, per esempio quando ci
> sono tipi diversi di "documenti" che risiedono in tabelle diverse e che
> devono essere identificati in modo univoco.
> Vero che si può fare in altri modi ma l'uso delle sequence usate in più
> tabelle semplifica molto la vita.
> Ovviamente il fatto che si possa fare non significa che si debba fare.
>
> Saluti
>
>
>
>

In response to

Responses

Browse pgsql-it-generale by date

  From Date Subject
Next Message barbara cioppa 2012-01-18 10:23:34 Re: problema con autoincremento nextval
Previous Message barbara cioppa 2012-01-18 10:12:45 Re: problema con autoincremento nextval