Dublicates pairs in a table.

From: "Ries van Twisk" <ries(at)jongert(dot)nl>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Dublicates pairs in a table.
Date: 2002-09-16 14:51:23
Message-ID: 000201c25d90$87230c10$6500000a@IT000
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Dear guys/girls,

I have a small question which I could not clearly find in the postgreSQL
manual.

if I create this table and index
CRAEATE TABLE test (
id SERIAL,
c1 VARCHAR(32),
c2 VARCHAR(32),
c3 VARCHAR(32)
);

CREATE UNIQUE INDEX test_idx ON test(id, c1,c2);

what I try to archive here is that I don't want duplicate pais in my table:
example

INSET INTO test (c1,c2) VALUES('a', 'a'); -- Allowed
INSET INTO test (c1,c2) VALUES('b', 'b'); -- Allowed
INSET INTO test (c1,c2) VALUES('b', 'c'); -- Allowed
INSET INTO test (c1,c2) VALUES('a', 'a'); -- Not allowed since we already
have a duplicate ('a', 'a') pair
INSET INTO test (c1,c2) VALUES('b', 'c'); -- Not allowed since we already
have a duplicate ('b', 'c') pair

etc. etc. I think you get the idea...

What I want to know is that if this is smart do do, or is there a other
better way to make sure I don't insert duplicate pairs in my database.
I'm not sure if a stored procedure is better in my case since I don't really
need the index on columns c1 or c2.
I'm looking for performance technical answers here thus speed vs memory
comparisons. Ofcourse a pointer to a URL will also do..

Best Regards,
Ries van Twisk

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2002-09-16 14:55:32 Re: "Inverting" a table, OLAP-style
Previous Message Ludwig Lim 2002-09-16 14:41:49 Formatting zeroes