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