saber claves primarias a traves de tablas del sistema

16/06/2006 - 17:44 por edbufe1 | Informe spam
Alguien puede decirme como puedo obtener el nombre de la columa y saber si es
clave primaria o no a partir de el nombre de una tabla. Tengo una consulta
que me devuelve las columnas de una tabla:

select a.name,b.name,a.length from syscolumns a,systypes b,sysobjects c
where a.xtype=b.xtype and c.id=a.id and c.name='detalles_fac_cli'
order by colorder

pues a esta consulta añadirle si la columna es clave primaria o no. Si solo
me salen las columnas que son PK tambien me vale

Preguntas similare

Leer las respuestas

#1 Maxi
16/06/2006 - 19:55 | Informe spam
Hola, revisa el uso de las vistas information_schema en tus libros online


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"edbufe1" escribió en el mensaje
news:
Alguien puede decirme como puedo obtener el nombre de la columa y saber si
es
clave primaria o no a partir de el nombre de una tabla. Tengo una consulta
que me devuelve las columnas de una tabla:

select a.name,b.name,a.length from syscolumns a,systypes b,sysobjects c
where a.xtype=b.xtype and c.id=a.id and c.name='detalles_fac_cli'
order by colorder

pues a esta consulta añadirle si la columna es clave primaria o no. Si
solo
me salen las columnas que son PK tambien me vale

Respuesta Responder a este mensaje
#2 Alejandro Mesa
16/06/2006 - 21:04 | Informe spam
edbufe1,

Puedes usar la vista INFORMATION_SCHEMA.KEY_COLUMN_USAGE.

Ejemplo:

use northwind
go

declare @sh sysname
declare @tn sysname

set @sh = 'dbo'
set @tn = 'order details'

select
a.column_name
from
INFORMATION_SCHEMA.KEY_COLUMN_USAGE a
where
a.table_schema = @sh
and a.table_name = @tn
and objectproperty(object_id(constraint_schema + '.' + constraint_name),
'IsPrimaryKey') = 1
go


AMB


"edbufe1" wrote:

Alguien puede decirme como puedo obtener el nombre de la columa y saber si es
clave primaria o no a partir de el nombre de una tabla. Tengo una consulta
que me devuelve las columnas de una tabla:

select a.name,b.name,a.length from syscolumns a,systypes b,sysobjects c
where a.xtype=b.xtype and c.id=a.id and c.name='detalles_fac_cli'
order by colorder

pues a esta consulta añadirle si la columna es clave primaria o no. Si solo
me salen las columnas que son PK tambien me vale

Respuesta Responder a este mensaje
#3 edbufe1
17/06/2006 - 09:34 | Informe spam
Gracias Es lo que necesitaba

"Alejandro Mesa" wrote:

edbufe1,

Puedes usar la vista INFORMATION_SCHEMA.KEY_COLUMN_USAGE.

Ejemplo:

use northwind
go

declare @sh sysname
declare @tn sysname

set @sh = 'dbo'
set @tn = 'order details'

select
a.column_name
from
INFORMATION_SCHEMA.KEY_COLUMN_USAGE a
where
a.table_schema = @sh
and a.table_name = @tn
and objectproperty(object_id(constraint_schema + '.' + constraint_name),
'IsPrimaryKey') = 1
go


AMB


"edbufe1" wrote:

> Alguien puede decirme como puedo obtener el nombre de la columa y saber si es
> clave primaria o no a partir de el nombre de una tabla. Tengo una consulta
> que me devuelve las columnas de una tabla:
>
> select a.name,b.name,a.length from syscolumns a,systypes b,sysobjects c
> where a.xtype=b.xtype and c.id=a.id and c.name='detalles_fac_cli'
> order by colorder
>
> pues a esta consulta añadirle si la columna es clave primaria o no. Si solo
> me salen las columnas que son PK tambien me vale
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida