From: | "Risto Tamme" <risto(at)ektaco(dot)ee> |
---|---|
To: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Table constraints and INSERT |
Date: | 2006-05-17 06:42:42 |
Message-ID: | E763584E741976409B9F835B475B00FC1A5353@pe2850.EKTACO.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hello
I use PostgreSQL in my program and I found a strange behavior, at least
for me.
I have a simple table with constraint
CREATE TABLE "PART"
(
"P_PARTKEY" int4 NOT NULL,
"P_RETAILPRICE" numeric,
CONSTRAINT "PART_PRIMARY" PRIMARY KEY ("P_PARTKEY"),
CONSTRAINT "PART_check" CHECK ("P_RETAILPRICE" = (90000 + "P_PARTKEY"
/ 10 + "P_PARTKEY" / 100)
);
And I try to insert a row:
INSERT INTO "PART" ("P_PARTKEY","P_RETAILPRICE") VALUES(999,90109.89);
but it fails: ERROR: new row for relation "PART" violates check
constraint "PART_check"
When you check using your head or pocket calculator then this INSERT
seems to be correct. Is it some floating point mystery?
Is there some trick?
I'm using version 8.0.1 for Windows.
With thanks, Risto
From | Date | Subject | |
---|---|---|---|
Next Message | Achilleus Mantzios | 2006-05-17 07:51:45 | Re: Database OID |
Previous Message | Kis János Tamás | 2006-05-17 06:10:42 | Database OID |