From: | "Ezequias Rodrigues da Rocha" <ezequias(dot)rocha(at)gmail(dot)com> |
---|---|
To: | "Milen A(dot) Radev" <milen(at)radev(dot)net> |
Cc: | pgadmin-support(at)postgresql(dot)org, pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Alternative Serial |
Date: | 2007-03-11 15:08:59 |
Message-ID: | 55c095e90703110808u567e9a1dr4d038b2b382b3a68@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-support pgsql-sql |
Yes you are right, I means sequences.
The second way is better for me that have Id (PK) fields not defined as
Sequences. Now it is much more difficult to change the type of my PK than
define a Default value. I am just concerned about the consistency of this
sequence. Could you make me more easy ?
And about the cast I have found ?
nextval('mySerial_id'::regclass)
I ask again. What is regclass ? What does it really is.
Ezequias
2007/3/11, Milen A. Radev <milen(at)radev(dot)net>:
>
> Ezequias Rodrigues da Rocha написа:
> > Hi list,
> >
> > I know that serials must be created like this.
>
> Actually no.
>
> > Create the Serial
>
> There is no db object 'Serial' you could create independently - you
> probably mean 'sequence'.
>
> >
> > Create a field table and reffers to the pre-created serial.
>
> You could and should create a field of (pseudo-)type 'serial' and be
> done with it.
>
> >
> > Now I noticed that it is possible to use the default value. I am almost
> > quite sure that this is an alternative way and non polite.
>
>
> The old and still working way to create a field that would function as
> surrogate key is to create a sequence, create a field in the table, mark
> it integer and set its default value to be the 'nextval' of the created
> sequence. That was too much typing for some (I'm included) and later a
> syntax sugar was added - the pseudo-type 'serial'.
>
> So the following syntax:
>
> CREATE TABLE example (
> example_sid SERIAL NOT NULL PRIMARY KEY,
> ...
> )
>
> is equivalen to:
>
>
> CREATE SEQUENCE example_example_sid_seq;
>
> CREATE TABLE example (
> example_sid INTEGER PRIMARY KEY DEFAULT
> NEXVAL)('example_example_sid_seq'),
> ...
> )
>
>
> As you could see - very convenient for the 99.9% of the cases.
>
> >
> > I would like to know if I am correct and what does it means:
> >
> > nextval('mySerial_id'::regclass)
> >
> > What is regclass ?
>
> Read here about 'regclass' (there is a note about it) -
> http://www.postgresql.org/docs/8.2/static/functions-sequence.html, but
> that should not be important to you.
>
>
> --
> Milen A. Radev
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
> http://archives.postgresql.org
>
--
Ezequias Rodrigues da Rocha
http://ezequiasrocha.blogspot.com/
use Mozilla Firefox:http://br.mozdev.org/firefox/
From | Date | Subject | |
---|---|---|---|
Next Message | A. Kretschmer | 2007-03-11 16:53:36 | Re: Alternative Serial |
Previous Message | Milen A. Radev | 2007-03-11 14:47:52 | Re: Alternative Serial |
From | Date | Subject | |
---|---|---|---|
Next Message | Ezequias Rodrigues da Rocha | 2007-03-11 16:05:12 | There is acid without transactions ? |
Previous Message | Milen A. Radev | 2007-03-11 14:47:52 | Re: Alternative Serial |