PDA

Ver la Versión Completa : Obtener campos PK tabla


Xavierator
03-04-2008, 16:25:24
Hola, ¿ para una BBDD SQL Server u Oracle y una tabla cualquiera indicada, como puedo obtener automaticamente los campos que forman parte de la clave primaria (PK) ?

Gracias, Xavierator.

ContraVeneno
03-04-2008, 17:39:02
En SQL Server tendrías que combinar las tablas SysObjects, SysIndexes, SysIndexKeys y SysColumns para obtener la información que quieres.

Xavierator
04-04-2008, 16:31:52
Hola, tengo una query para obtener las PK's, pero funciona desde SQL Server y no desde DBExpress, esta por ejemplo obtiene la lista de campos de la tabla indicada:

SELECT
clmns.name AS [Name],
usrt.name AS [DataType]
FROM
sys.tables AS tbl
INNER JOIN sys.all_columns AS clmns ON clmns.object_id=tbl.object_id
LEFT OUTER JOIN sys.types AS usrt ON usrt.user_type_id = clmns.user_type_id
WHERE
(tbl.name='nombre table')

desde DBExpress, da error "DBX Error: operation not supported", alguna idea ?

Gracias, Xavierator.