Publicado por: Carlos lunes, julio 25, 2011

SELECT SchemaName = left(S.name, 45),
       TableName = cast(T.name AS VARCHAR(140)),
       ColOrder = C.column_id, --cast(C.column_id as varchar(6)),
       PK = isnull(key_ordinal, ''),
       ColumnName = left(C.name, 100),
       TYPE = left(Y.Name, 10), TipoUsu = left(Y2.Name, 10),
       LENGTH = CASE WHEN max_length = -1 THEN 'Max' ELSE cast(max_length AS VARCHAR(10)) END,
       C.PRECISION, C.Scale, Identi = is_identity, Nulos = C.is_nullable,
       Defaulf = cast(D.DEFINITION AS VARCHAR(10)),
       Collation = cast(C.Collation_name AS VARCHAR(20)), --C.* --, Y.*
       ColumnDescription = cast(P.value AS VARCHAR(500)),
       TableDescription = cast(P2.value AS VARCHAR(500))
FROM (
   SELECT object_id, schema_id, name FROM sys.VIEWS
   UNION ALL
   SELECT object_id, schema_id, name FROM sys.TABLES) T
inner join sys.schemas S ON T.schema_id = S.schema_id
inner join sys.COLUMNS C ON T.object_id = C.object_id
left join sys.systypes Y ON Y.xtype = C.system_type_id AND Y.status = 0
left join sys.systypes Y2 ON Y2.xtype = C.system_type_id AND Y2.status = 1
left join sys.default_constraints D ON D.object_id = C.default_object_id
left join sys.extended_properties P ON P.major_id = T.object_id AND P.minor_id = C.column_Id
left join sys.extended_properties P2 ON P2.major_id = T.object_id AND P2.minor_id = 0
left join (
 SELECT I.object_id, column_id, key_ordinal
 FROM sys.INDEXES I
 inner join sys.index_columns L ON I.object_id = L.object_id AND I.index_id = L.index_id
 inner join sys.key_constraints C ON I.object_id = C.parent_object_id AND I.name = C.name
   WHERE C.TYPE = 'PK'
) I ON I.object_id = T.Object_id AND I.column_id = C.column_id
WHERE T.name <> 'sysdiagrams'

2 Responses so far.

  1. Anónimo says:

    Gracias me Sirvió

  2. Hola, en nuestro blog también publicamos una pequeña entrada sobre el diccionario de datos http://www.entrar.cl/diccionario-de-datos-segunda-parte/

Populares!

- Copyright © - Oubliette - -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -