Re: Saber si el campo es PK ?

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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 ?