Re: database field "pointer"
| От | Aasmund Midttun Godal | 
|---|---|
| Тема | Re: database field "pointer" | 
| Дата | |
| Msg-id | 20011010215235.25818.qmail@ns.krot.org обсуждение исходный текст | 
| Ответ на | database field "pointer" (Jeff Davis <list-pgsql-general@dynworks.com>) | 
| Список | pgsql-general | 
CREATE TABLE coworkers (
    id serial PRIMARY KEY,
    name varchar(63)
);
CREATE TABLE email_types (
    type VARCHAR(10) PRIMARY KEY
);
INSERT INTO email_types VALUES ('home');
INSERT INTO email_types VALUES ('work');
CREATE TABLE emails (
    owner INTEGER REFERENCES coworkers,
    type INTEGER REFERENCES email_types, --You could have a CHECK
        --instead offcourse.
    email VARCHAR(127) PRIMARY KEY,
    preferred BOOLEAN,
    UNIQUE(owner, preferred),
    UNIQUE(type, owner)
);
No guarantees, I have not run it, but I think it should work.
On Wed, 10 Oct 2001 13:39:31 -0700, Jeff Davis <list-pgsql-general@dynworks.com> wrote:
>     I was wondering is there is a good method to make a database field a
> pointer, similar to C. Here is an example I made up of why this could be
> useful:
>     Suppose I have a table 'coworkers' with 2 email address fields: work_email
> and home_email. It would be useful to have another field that was something
> like 'preferered_email' that pointed to one or the other. Then, updates would
> only need to happen once, and it would be easy to change back and forth.
>     Tell me if there is some better, more sensible method to accomplish this
> task.
>
> Thanks,
>     Jeff Davis
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
Aasmund Midttun Godal
aasmund@godal.com - http://www.godal.com/
+47 40 45 20 46
		
	В списке pgsql-general по дате отправления: