Можно ли добавить описание / комментарий к таблице в Microsoft SQL 2000+ - PullRequest
21 голосов
/ 18 декабря 2008

Можно ли добавить описание или комментарии типа метаданных к таблице в Microsoft SQL 2000 и выше?

Как бы вы сделали это с помощью оператора CREATE TABLE?

Можно ли добавить описание или комментарий к полям?

Как вы запрашиваете эту информацию обратно в MSSQL 2000? 2005

Ответы [ 4 ]

27 голосов
/ 18 декабря 2008

Используйте расширенные свойства. Например, чтобы добавить расширенное свойство к таблице в схеме 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
10 голосов
/ 03 августа 2016

Вы наверняка могли бы использовать упомянутый выше SP для этого, однако, есть более простой способ сделать это, и я считаю, что MGT Studio должен быть вашим первым выбором для внесения этих изменений, если вы не пытаетесь автоматизировать вещи с помощью сценария. Вот как это сделать: enter image description here

1 - щелчок правой кнопкой мыши по столу

2- Нажмите на дизайн

3- Комментарий, как показано выше

Чтобы у вас был полный ответ, вот более простой скрипт для его изменения (проще по сравнению с ответами выше):

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'
3 голосов
/ 18 декабря 2008

Большинство инструментов и людей используют Расширенные свойства для поддержки этого. Общее имя, используемое SSMS: MS_Description

Существует несколько встроенных хранимых процедур для создания и чтения этих свойств, они изменяются со временем, поэтому различия между версиями SQL будут различаться.

0 голосов
/ 25 января 2018

К сожалению, этот подход не применим к высоконагруженным производственным средам. Хранимые процедуры, управляющие расширенными свойствами, устанавливают эксклюзивную блокировку для целевой таблицы. Пока они выполняются, вся таблица не читается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...