From: | Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar> |
---|---|
To: | César Martínez Cabanas <cmcabanas(at)cisgalicia(dot)org> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Quey SQL |
Date: | 2004-09-02 11:49:21 |
Message-ID: | 200409020849.21965.martin@bugs.unl.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El Jue 02 Sep 2004 06:02, César Martínez Cabanas escribió:
> Hola a todos...
>
> Necesitaba saber si existe alguna forma de sacar el nombre del
> campo o campos clave de una tabla... a través de sql.
Con una sentencia de SQL simple? No.
Con una complicada? Si!
Si tu tabla se llama hora, esta es la consulta (esto fue obtenido con la
opcion -E de psql :-)).
SELECT a.attname AS campos,
pg_catalog.format_type(a.atttypid, a.atttypmod),
(SELECT substring(d.adsrc for 128) FROM pg_catalog.pg_attrdef d
WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef)
AS default
FROM pg_catalog.pg_attribute a
WHERE a.attrelid IN
(SELECT c.oid
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE pg_catalog.pg_table_is_visible(c.oid)
AND c.relname ~ '^hora$')
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum;
--
08:25:02 up 1 day, 21:50, 3 users, load average: 0.52, 0.94, 0.95
-----------------------------------------------------------------
Martín Marqués | select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica | DBA, Programador, Administrador
Universidad Nacional
del Litoral
-----------------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Gerardo Dominguez | 2004-09-02 12:13:48 | consulta postgres |
Previous Message | César Martínez Cabanas | 2004-09-02 09:02:23 | Quey SQL |