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_idEl resultado que nos queda sería algo como esto:
11 de enero de 2011
Obtener las columnas de una tabla en SQL Server 2008
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.
Etiquetas:
Bases de Datos,
SQL Server 2008,
TSQL
No hay comentarios:
Publicar un comentario