Lists: | pgsql-es-ayuda |
---|
From: | Felipe González Z(dot) <felipegonza(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Select sobre tipos compuestos |
Date: | 2007-06-03 11:00:28 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Hola,
tengo los siguiente tipos compuestos (no se asusten por los tipos de datos,
que tan sólo estoy probando y aprendiendo...)
CREATE TYPE clases AS (
sala VARCHAR,
hora_inicio VARCHAR,
hora_fin VARCHAR,
año integer
);
CREATE TABLE clase (
oid_clase dom_oid,
clase clases,
PRIMARY KEY (oid_clase)
);
pues bien, como puedo hacer un SELECT sobre la tabla "clase", de algún
atributo en particular del tipo "clases"???
Un saludo, y gracias por la ayuda!!
Felipe
From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Felipe González Z(dot) <felipegonza(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Select sobre tipos compuestos |
Date: | 2007-06-03 23:17:47 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Felipe González Z. escribió:
> Hola,
>
> tengo los siguiente tipos compuestos (no se asusten por los tipos de datos,
> que tan sólo estoy probando y aprendiendo...)
>
> CREATE TYPE clases AS (
> sala VARCHAR,
> hora_inicio VARCHAR,
> hora_fin VARCHAR,
> año integer
> );
>
>
> CREATE TABLE clase (
> oid_clase dom_oid,
> clase clases,
> PRIMARY KEY (oid_clase)
> );
>
> pues bien, como puedo hacer un SELECT sobre la tabla "clase", de algún
> atributo en particular del tipo "clases"???
alvherre=# CREATE TABLE clase (
alvherre(# oid_clase dom_oid,
alvherre(# clase clases,
alvherre(# PRIMARY KEY (oid_clase)
alvherre(# );
NOTICE: CREATE TABLE / PRIMARY KEY creará el índice implícito «clase_pkey» para
la tabla «clase»
CREATE TABLE
alvherre=# select * from clase;
oid_clase | clase
-----------+-------
(0 filas)
alvherre=# insert into clase values (1, row('una', '10:00', '12:00', 1999));
INSERT 0 1
alvherre=# select * from clase;
oid_clase | clase
-----------+------------------------
1 | (una,10:00,12:00,1999)
(1 fila)
alvherre=# select clase.sala from clase;
ERROR: no existe la columna clase.sala
LINEA 1: select clase.sala from clase;
^
alvherre=# select (clase).sala from clase;
sala
------
una
(1 fila)
alvherre=#
--
Alvaro Herrera http://www.amazon.com/gp/registry/DXLWNGRJD34J
"When the proper man does nothing (wu-wei),
his thought is felt ten thousand miles." (Lao Tse)