From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | "Yoel Mc Lennan" <listas(at)yoel(dot)com(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Saber si el campo es PK ? |
Date: | 2007-07-10 02:12:09 |
Message-ID: | c2d9e70e0707091912y17c7a6d6l827cc469316e5f24@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 7/10/07, Yoel Mc Lennan <listas(at)yoel(dot)com(dot)ar> wrote:
> Jaime, ese hilo contiene como obtener el PK, lo que yo necesito hacer es
> obtener la lista de campos de un catalogo/tabla y diferenciar de entre ellos
> el pk, pero obteniendo todos los campos, si bien este ejemplo del link
> sirve, estaba buscando algo que me devuelva todo en un solo paso.
>
eso es porque te pensaba hacerte todo el trabajo y te di lo suficiente
para que lo resuelvas tu mismo (modificando un poco la consulta)
sgerp=> SELECT a.attnum, a.attname, case contype when 'p' then 'pk'
else null end
FROM pg_attribute a LEFT JOIN pg_constraint c ON
(a.attnum = ANY(c.conkey) AND a.attrelid = c.conrelid)
WHERE a.attrelid = 'seguridad.permisos'::regclass and a.attnum > 0 ;
attnum | attname | case
--------+--------------------+------
1 | codigo | pk
2 | empresa |
3 | rol |
4 | programa |
5 | fecha_asignacion |
6 | usuario_asignacion |
7 | consulta |
8 | inserta |
9 | modifica |
10 | elimina |
11 | fecha_remocion |
12 | usuario_remocion |
(12 rows)
> Gracias igual.
>
de nada
--
Atentamente,
Jaime Casanova
"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-07-10 02:13:22 | Re: Saber si el campo es PK ? |
Previous Message | Yoel Mc Lennan | 2007-07-10 02:01:09 | Re: Saber si el campo es PK ? |