Thread: Does "constraint" and "check" work in 6.3.2 ?
I am planning a new release to PgAccess (mainly bug fixes) and I'm wondering if "constraint" and "check" are working ! I am using PostgreSQL 6.3.2 and this example from man create_table is not working for me ! Please reply as soon as possible, so I could release this version prior to 6.4 Pg release. testdb=> create table emppay (name text not null, wage float4 default 10.00) constraint empcon check (wage > 5.30 and wage <= 30.00), check (name <> ''); ERROR: parser: parse error at or near "constraint" ???!???? -- Constantin Teodorescu FLEX Consulting Braila, ROMANIA
> I'm wondering if "constraint" and "check" are working ! > I am using PostgreSQL 6.3.2 and this example from man create_table is > not working for me ! > testdb=> create table emppay (name text not null, wage float4 default > 10.00) constraint empcon check (wage > 5.30 and wage <= 30.00), check > (name <> ''); > ERROR: parser: parse error at or near "constraint" The syntax changed slightly (in v6.3 I recall) to conform to SQL92. The constraint clauses moved to inside the column declaration parens. Try: create table emppay ( name text not null, wage float4 default 10.00, constraint empcon check (wage > 5.30 and wage <= 30.00), check (name <> '') ); - Tom
Hi Constantin, This is a syntax problem, there are two kinds of constraints (table and column constraints) and both of them must be defined inside ( ) not outside: create table emppay ( name text not null check (name <> ''), --column constraint definition wage float4 default 10.00, constraint empcon check (wage > 5.30 and wage <= 30.00) --table constraint definition ); CREATE Jose' Constantin Teodorescu wrote: > > I am planning a new release to PgAccess (mainly bug fixes) and I'm > wondering if "constraint" and "check" are working ! > I am using PostgreSQL 6.3.2 and this example from man create_table is > not working for me ! > > Please reply as soon as possible, so I could release this version prior > to 6.4 Pg release. > > testdb=> create table emppay (name text not null, wage float4 default > 10.00) constraint empcon check (wage > 5.30 and wage <= 30.00), check > (name <> ''); > ERROR: parser: parse error at or near "constraint" >