Обсуждение: A problem about alter table
Hi, all I'm using postgreSQL 7.2.3. The following statement always cuases a parser error, "parse error at or near NOT". Please adivse, thank you in advance. ALTER TABLE _acct_group1 ALTER groupkey SET NOT NULL; Jack
jack wrote: > Hi, all > I'm using postgreSQL 7.2.3. The following statement always cuases a parser > error, "parse error at or near NOT". Please adivse, thank you in advance. > > ALTER TABLE _acct_group1 > ALTER groupkey SET NOT NULL; > > Jack >From Postgres 7.2 documentation: "In the current implementation of ADD COLUMN, default and NOT NULL clauses for the new column are not supported. You can use the SET DEFAULT form of ALTER TABLE to set the default later. (You may also want to update the already existing rows to the new default value, using UPDATE.)" There is nothing about setting not null fields. I think you have to create trigger instead of altering table. Regards, Tomasz Myrta
But on postgreSQL 7.2 reference manual, there is a statement for alter table
such as, ALTER TABLE [ ONLY ] table [ * ] ALTER [ COLUMN ] column { SET | DROP } NOT NULL
Do you mean this one hasn't been implemented?
Jack
----- Original Message -----
From: "Tomasz Myrta" <jasiek@klaster.net>
To: "jack" <datactrl@tpg.com.au>
Cc: <pgsql-sql@postgresql.org>
Sent: Tuesday, January 07, 2003 11:31 PM
Subject: Re: [SQL] A problem about alter table
> jack wrote:
>
> > Hi, all
> > I'm using postgreSQL 7.2.3. The following statement always cuases a
parser
> > error, "parse error at or near NOT". Please adivse, thank you in
advance.
> >
> > ALTER TABLE _acct_group1
> > ALTER groupkey SET NOT NULL;
> >
> > Jack
> >
> From Postgres 7.2 documentation:
>
> "In the current implementation of ADD COLUMN, default and NOT NULL
> clauses for the new column are not supported. You can use the SET
> DEFAULT form of ALTER TABLE to set the default later. (You may also want
> to update the already existing rows to the new default value, using
> UPDATE.)"
>
> There is nothing about setting not null fields.
> I think you have to create trigger instead of altering table.
>
> Regards,
> Tomasz Myrta
>
jack wrote:
> But on postgreSQL 7.2 reference manual, there is a statement for alter
> table
> such as, ALTER TABLE [ ONLY ] table [ * ]
> ALTER [ COLUMN ] column { SET | DROP } NOT NULL
>
> Do you mean this one hasn't been implemented?
>
> Jack
>
Strange. I don't have such ALTER TABLE in my 7.2 documentation. There is
only ALTER... SET | DROP DEFAULT.
Tomasz
On Wed, 8 Jan 2003, jack wrote:
> But on postgreSQL 7.2 reference manual, there is a statement for alter table
> such as, ALTER TABLE [ ONLY ] table [ * ]
> ALTER [ COLUMN ] column { SET | DROP } NOT NULL
>
> Do you mean this one hasn't been implemented?
>
> Jack
This syntax is valid in 7.3 (not 7.2)
>
> ----- Original Message -----
> From: "Tomasz Myrta" <jasiek@klaster.net>
> To: "jack" <datactrl@tpg.com.au>
> Cc: <pgsql-sql@postgresql.org>
> Sent: Tuesday, January 07, 2003 11:31 PM
> Subject: Re: [SQL] A problem about alter table
>
>
> > jack wrote:
> >
> > > Hi, all
> > > I'm using postgreSQL 7.2.3. The following statement always cuases a
> parser
> > > error, "parse error at or near NOT". Please adivse, thank you in
> advance.
> > >
> > > ALTER TABLE _acct_group1
> > > ALTER groupkey SET NOT NULL;
> > >
> > > Jack
> > >
> > From Postgres 7.2 documentation:
> >
> > "In the current implementation of ADD COLUMN, default and NOT NULL
> > clauses for the new column are not supported. You can use the SET
> > DEFAULT form of ALTER TABLE to set the default later. (You may also want
> > to update the already existing rows to the new default value, using
> > UPDATE.)"
> >
> > There is nothing about setting not null fields.
> > I think you have to create trigger instead of altering table.
> >
> > Regards,
> > Tomasz Myrta
> >
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
==================================================================
Achilleus Mantzios
S/W Engineer
IT dept
Dynacom Tankers Mngmt
Nikis 4, Glyfada
Athens 16610
Greece
tel: +30-10-8981112
fax: +30-10-8981877
email: achill@matrix.gatewaynet.com mantzios@softlab.ece.ntua.gr
--- jack <datactrl@tpg.com.au> wrote: > Hi, all > I'm using postgreSQL 7.2.3. The following statement > always cuases a parser > error, "parse error at or near NOT". Please adivse, > thank you in advance. > > ALTER TABLE _acct_group1 > ALTER groupkey SET NOT NULL; I believe you will need to use: ALTER TABLE _acct_group1 ADD CONSTRAINT <constraint name> CHECK groupkey NOT NULL; I haven't checked that syntax for correctness, but it's covered in the docs on ALTER TABLE. __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com