Saber si un campo es clave

Cherry
03 de Agosto del 2005
Hola.

¿Alguien puede decirme como saber si un campo de una tabla es clave o no a través de la información que almacenan las tablas del sistema?

Estoy haciendo una aplicación en C++ que se conecta con una BD de Oracle10g y necesito tratar de forma distinta los campos que son clave y no. No se como hacerlo, pero en las tablas del sistema tiene que almacenarlo de alguna forma, ¿no? Es que no me aclaro entre tantas tablas y campos ....

nerea
03 de Agosto del 2005
select column_name from all_cons_columns where constraint_name in
(select constraint_name
from all_constraints
where table_name='nombre_de_tabla' and
constraint_type='P');

Esto devuelve los campos de la tabla "nombre_de_tabla" que pertenecen a la clave primaria.