SQL Server: Метаданные Таблицы Извлечения (описание, поля и их типы данных)

>> и << являются просто операторами, и вы можете реализовать свои собственные >> и << для своих классов.

Я полагаю, «кто-то» выбрал их, потому что: а) они похожи на операции с файлами оболочки и б) повторно использовать существующие операторы, потому что нет необходимости создавать новые

60
задан Andreas Grech 20 May 2009 в 11:19
поделиться

3 ответа

Чтобы получить данные описания, вам, к сожалению, придется использовать sysobjects / syscolumns для получения идентификаторов:

SELECT      u.name + '.' + t.name AS [table],
            td.value AS [table_desc],
            c.name AS [column],
            cd.value AS [column_desc]
FROM        sysobjects t
INNER JOIN  sysusers u
    ON      u.uid = t.uid
LEFT OUTER JOIN sys.extended_properties td
    ON      td.major_id = t.id
    AND     td.minor_id = 0
    AND     td.name = 'MS_Description'
INNER JOIN  syscolumns c
    ON      c.id = t.id
LEFT OUTER JOIN sys.extended_properties cd
    ON      cd.major_id = c.id
    AND     cd.minor_id = c.colid
    AND     cd.name = 'MS_Description'
WHERE t.type = 'u'
ORDER BY    t.name, c.colorder

Вы можете сделать это с помощью информационной схемы, но вам придется объединить и т. Д., Чтобы вызовите OBJECT_ID () - так в чем будет смысл?

82
ответ дан 24 November 2019 в 17:37
поделиться

Generic information about tables and columns can be found in these tables:

select * from INFORMATION_SCHEMA.TABLES
select * from INFORMATION_SCHEMA.COLUMNS

The table description is an extended property, you can query them from sys.extended_properties:

select 
    TableName = tbl.table_schema + '.' + tbl.table_name, 
    TableDescription = prop.value,
    ColumnName = col.column_name, 
    ColumnDataType = col.data_type
FROM information_schema.tables tbl
INNER JOIN information_schema.columns col 
    ON col.table_name = tbl.table_name
    AND col.table_schema = tbl.table_schema
LEFT JOIN sys.extended_properties prop 
    ON prop.major_id = object_id(tbl.table_schema + '.' + tbl.table_name) 
    AND prop.minor_id = 0
    AND prop.name = 'MS_Description' 
WHERE tbl.table_type = 'base table'
34
ответ дан 24 November 2019 в 17:37
поделиться

Вы можете попробовать sp_help <Имя объекта>

9
ответ дан 24 November 2019 в 17:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: