| From: | "Josh Berkus" <josh(at)agliodbs(dot)com> | 
|---|---|
| To: | "Nelson Yong" <nelsonyong(at)ipmuda(dot)com(dot)my> | 
| Cc: | pgsql-novice(at)postgresql(dot)org | 
| Subject: | Re: how to create secondary key!! | 
| Date: | 2002-10-24 04:41:57 | 
| Message-ID: | web-1797585@davinci.ethosmedia.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-novice | 
Nelson,
> What i call the Secondary key is when i want two or more fields
> become  
> key eg. Order Table can be more than one or more transaction, i
> assign 
> order no. and record no. as key.  The Order no. call primary key and
> the 
> Record no. as secondary key. 
I'm afraid that's incorrect.   What you have is a "two-column primary
key."   There is no "secondary key".   Here's how you create one:
create table order_detail (
	order_no INT NOT NULL REFERENCES orders(order_no),
	record_no INT NOT NULL,
	item_no INT NOT NULL REFERENCES inventory(item_no),
	quantity NUMERIC NOT NULL,
	comment TEXT,
	CONSTRAINT order_detail_PK PRIMARY KEY (order_no, record_no)
);
Got it? Read the "CREATE TABLE" documentation for more detail.
-Josh Berkus
P.S. To reiterate:  There are Primary Keys, Candidate Keys, Surrogate
Keys, and Foreign Keys, but no "Secondary Keys".  
| From | Date | Subject | |
|---|---|---|---|
| Next Message | cristi | 2002-10-24 05:03:13 | display functions | 
| Previous Message | Josh Berkus | 2002-10-24 00:07:50 | Re: [BUGS] Optimization disaster |