Обсуждение: 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