Вопрос:
Можно ли добавить описание или комментарии в метаданные в таблицу в Microsoft SQL 2000 и выше?
Как вы это сделаете с помощью инструкции CREATE TABLE?
Можно ли добавить описание или комментарий к полям?
Как вы запрашиваете эту информацию в MSSQL 2000? 2005?
Лучший ответ:
Используйте расширенные свойства. Например, чтобы добавить расширенное свойство в таблицу в схеме dbo, вы можете использовать:
EXEC sys.sp_addextendedproperty @name=N'<NameOfProp>’, @value=N'<Value>’ , @level0type=N’SCHEMA’,@level0name=N’dbo’, @level1type=N’TABLE’,@level1name=N'<Table>’
Вы можете обновить их:
EXEC sys.sp_updateextendedproperty @name=N’MS_Description’, @value=N’My Description’ , @level0type=N’SCHEMA’,@level0name=N’dbo’, @level1type=N’TABLE’ ,@level1name=N'<YOUR TABLE NAME>’
Вы можете прочитать их как:
SELECT * FROM fn_listextendedproperty (NULL, ‘schema’,’dbo’, ‘table’, ‘<yourtable>’, default, default);
или
SELECT p.name AS [Name],p.value FROM sys.tables AS tbl INNER JOIN sys.extended_properties AS p ON p.major_id=tbl.object_id AND p.minor_id=0 AND p.class=1 WHERE (tbl.name=N'<yourtablename>’ and SCHEMA_NAME(tbl.schema_id)=N’dbo’) ORDER BY [Name] ASC Ответ №1
Конечно, вы можете использовать упомянутый выше SP, но есть более простой способ сделать это, и я считаю, что MGT Studio должен быть вашим первым выбором для внесения этих изменений, если вы не пытаетесь автоматизировать все, используя script. Вот как это сделать:
1- Щелкните правой кнопкой мыши по таблице
2- Нажмите “Дизайн”
3- Комментарий, как показано выше
Просто чтобы у вас был полный ответ, здесь проще script изменить его (более простое сравнение с приведенными выше ответами):
DECLARE @v sql_variant SET @v = N’Comment here’ EXECUTE sp_addextendedproperty N’MS_Description’, @v, N’SCHEMA’, N’dbo’, N’TABLE’, N’Stack_testing’, N’COLUMN’, N’testinghere’ Ответ №2
Большинство инструментов и людей используют расширенные свойства для поддержки этого. Общее имя, используемое SSMS, – MS_Description
Существует несколько встроенных хранимых процедур для создания этих свойств, а также их чтение, они меняются с течением времени, поэтому будут различия между версиями SQL.
Ответ №3
К сожалению, этот подход не применим к высоконагруженным производственным средам. Хранимые процедуры, управляющие расширенными свойствами, устанавливают исключительную блокировку в целевой таблице. Пока они выполняются, вся таблица нечитаема.