Aquí les dejo un script con el cual podemos obtener la estructura de una tabla dada, especifícada en la variable @tabla, identificando las columnas que son PK dentro de la misma. Creo que tambien sirve perfectamente para SQL Server 2005.
declare @tabla as varchar(1000)
set @tabla = 'gen_intranet_dfncn_prmtr'
select OBJECT_NAME(OBJECT_ID(@tabla)) tabla,
col.name as nombre,
( select name from sys.types tip where col.system_type_id = tip.system_type_id ) as tipo,
col.max_length as longitud,
col.precision as precisión,
col.scale as escala,
case when col.is_nullable = 0 then 'NOT NULL' else 'NULL' end as nullable,
case when col.is_identity = 0 then '' else 'SI' end as [es identity],
case when icol.column_id is not null then 'PK' else '' end as [es pk]
from sys.columns col
left join ( select icol.*
from sys.index_columns icol
inner join sys.indexes idx on icol.index_id = idx.index_id
where idx.is_primary_key = 1
and idx.object_id = object_id(@tabla)) as icol on col.column_id = icol.column_id and col.object_id = icol.object_id
where col.object_id = object_id(@tabla)
order by col.column_id
El resultado que nos queda sería algo como esto:
No hay comentarios:
Publicar un comentario