From: | Christopher Browne <cbbrowne(at)acm(dot)org> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: A simple way to Create type ...? |
Date: | 2003-09-16 21:27:13 |
Message-ID: | 60d6e0h1am.fsf@dev6.int.libertyrms.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
oneway_111(at)yahoo(dot)com (ow) writes:
> I had a look at "create type" docs and it seems somewhat complex, involving
> creation of functions and etc. I hope there's a simpler way for the following:
>
> How should one declare a new custom type, say, "AddressType" that corresponds
> internally to "varchar(50)". In other words, all columns that are assigned
> "AddressType" would internally be "varchar(50)".
>
> Example:
> create type AddressType ... -- how to do it in a simple way?
>
> create table ADDRESS
> {
> address_id int not null,
> street_address1 AdressType not null,
> street_address2 AdressType not null,
> ....
> )
CREATE TYPE is intended to do something a whole lot more
sophisticated than you want.
What you want instead is CREATE DOMAIN.
flexreg=# create domain addresstype varchar(50);
CREATE DOMAIN
flexreg=# create table address ( address_id integer not null, street1 addresstype not null, street2 addresstype);
CREATE TABLE
flexreg=# \d address
Table "public.address"
Column | Type | Modifiers
------------+-------------+-----------
address_id | integer | not null
street1 | addresstype | not null
street2 | addresstype |
--
select 'cbbrowne' || '@' || 'cbbrowne.com';
http://www.ntlug.org/~cbbrowne/nonrdbms.html
"Although Unix is more reliable, NT may become more reliable with
time" -- Ron Redman, deputy technical director of the Fleet
Introduction Division of the Aegis Program Executive Office, US Navy.
From | Date | Subject | |
---|---|---|---|
Next Message | Rod Taylor | 2003-09-16 21:47:23 | Re: A simple way to Create type ...? |
Previous Message | ow | 2003-09-16 21:14:31 | Re: A simple way to Create type ...? |