Jan Wieck írta:
On 12/5/2005 1:03 PM, Zoltan Boszormenyi wrote:
Jan Wieck írta:
On 12/4/2005 5:10 PM, Zoltan Boszormenyi wrote:
I found this in the SQL2003 draft:
"
4.14.7 Identity columns
... An identity column has a start value, an increment, a maximum
value, a minimum value,
and a cycle option. ...
"
The exact properties of a sequence. It would be a good idea to be
able to provide
all these the same way PostgreSQL provides CREATE SEQUENCE.
I think nobody would object to implementing support for the SQL2003
syntax. Most of that would be providing all the values that will get
forwarded into the internal sequence generation during CREATE TABLE.
The other thing needed is an extension to the default value
mechanism that overrides any given value to implement GENERATE
ALLWAYS. Not too hard either.
Where can I find this syntax? (PDF file name, page#) Thanks.
I think I modify my feature request for the standard behaviour.
It's all in the Foundation paper inside this zip:
http://www.wiscorp.com/sql/sql_2003_standard.zip
Thanks, I found it. It's "GENERATED { ALWAYS | BY DEFAULT } AS
IDENTITY, isn't it?
If I interpret it correctly, "GENERATED ALWAYS AS IDENTITY" means that
no matter
what I give in "INSERT INTO MYTABLE (serial_id, ...) VALUES (N, ...)",
the sequence
next value will be inserted into the database. I am all for it, it's
much stronger than just watching
for the 0 value and would fit my needs.
The other behaviour is "GENERATED BY DEFAULT AS IDENTITY",
which is what PostgreSQL currently provides.
Best regards,
Zoltán Böszörményi
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend