sábado, 26 de junio de 2010

Diccionario de datos

Si alguien se pregunta sobre la posibilidad de obtener la definiciòn de tablas (Nombre, tipo de dato, longitud, nulo) en SQL, la respuesta es si.





Es realmente muy sencillo, existen otras formas de obtenerlo , les comparto una :


Declare @Tabla varchar(100)
Set @Tabla= 'CAT_TIPOS_ARCHIVO'
Select Schemas.Table_Name [Tabla],schemas.Column_name [Columna],
EP.Value [Descripcion]
,Schemas.data_type [Tipo de dato],
col.max_length [Longitud],col.is_nullable [Permite Nullo]from
INFORMATION_SCHEMA.COLUMNS Schemas
Inner join (Select * from Sys.columns
where object_id=(Select Object_ID from sys.objects where name=@Tabla)
) Col
On Schemas.Column_name=Col.Name
Left Join sys.extended_properties EP
on EP.Major_id=Col.object_id and EP.minor_id=Col.Column_id
where Schemas.Table_Name=@Tabla
EXEC sys.sp_addextendedproperty @name=N'MS_Description',
@value=N'Clave del usuario que modifico el registro' ,
@level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',
@level1name=N'CAT_TIPOS_ARCHIVO', @level2type=N'COLUMN',
@level2name=N'TAR_CVE_USUARIO';





Espero sea de su utilidad



Saludos

No hay comentarios:

Publicar un comentario