Constraint Problem - Mailing list pgsql-sql

From Chairudin Sentosa Harjo
Subject Constraint Problem
Date
Msg-id 37F319C6.FA5B5536@prima.net.id
Whole thread Raw
List pgsql-sql
Dear Friends,

I have a very wierd problem. It should be obvious, but I can't
understand why.

I am using Postgresql 6.5.2, SuSe 6.2, Pentium III, Kernel Linux 2.2.10.

Please notice the error, it keeps saying ck_ngetest_disc_pin,
ck_ngetest_disc_country
is the cause of the problem.
I have inserted the correct value, but why keep giving error???

The wierdest part is, when I insert a value to field "disc_all", the
error mentioned
"ck_ngetest_disc_pin" !!!.... If the constraint was violated, the error
message
should be "ck_ngetest_disc_all".


create table ngetest (  custnum              int8 NOT NULL,  first_name           varchar(15) NOT NULL,  service_type
     char NOT NULL,  sex                  char NOT NULL,  detailed_bill        char NOT NULL,  ngetest_status
charNOT NULL,  disc_all             char,  disc_country         char,  disc_pin             char,
 
  constraint pk_ngetest PRIMARY KEY (custnum),
  constraint ck_ngetest_service_type check    (service_type = 'Y' or     service_type = 'N' or     service_type = 'G'
or    service_type = 'M' or     service_type = 'O' or     service_type = 'D'),
 
  constraint ck_ngetest_status check    (ngetest_status = 'A' or     ngetest_status = 'I' or     ngetest_status = 'S'
or    ngetest_status = 'T'),
 
  constraint ck_ngetest_disc_all check    (disc_all = 'Y' or     disc_all = 'N'),  constraint ck_ngetest_disc_country
check   (disc_country = 'Y' or     disc_country = 'N'),  constraint ck_ngetest_disc_pin check    (disc_pin = 'Y' or
disc_pin= 'N') );
 

insert into ngetest
(custnum, first_name, service_type, sex, detailed_bill, ngetest_status,
disc_all)
values
(1,'Bob','Y','M','Y','A','Y');
ERROR:  ExecAppend: rejected due to CHECK constraint ck_ngetest_disc_pin

insert into ngetest
(custnum, first_name, service_type, sex, detailed_bill, ngetest_status,
disc_country)
values
(2,'Mike','Y','M','Y','A','Y');
ERROR:  ExecAppend: rejected due to CHECK constraint ck_ngetest_disc_pin

insert into ngetest
(custnum, first_name, service_type, sex, detailed_bill, ngetest_status,
disc_pin)
values
(3,'John','Y','M','Y','A','Y');
ERROR:  ExecAppend: rejected due to CHECK constraint
ck_ngetest_disc_country


Regards,
Chairudin Sentosa

************


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: [SQL] Limit rows
Next
From: Safa Pilavcı
Date:
Subject: CONTAINS keyword