No exemplo abaixo mostro como você pode usar a procedure de sistema sp_addextendedproperty para gravar uma descrição para a coluna phone
da tabela authors do banco de dados Pubs.
USE Pubs
GO
— adiciona a uma descrição para a coluna phone
EXEC dbo.sp_addextendedproperty
@name=N’MS_Description’,
@value=N’Numero do telefone’, — esta é a descrição da coluna
@level0type=N’USER’,
@level0name=N’dbo’,
@level1type=N’TABLE’,
@level1name=N’Authors’,
@level2type=N’COLUMN’,
@level2name=N’phone’
A stored procedure abaixo tem como objetivo criar uma maneira rapida e facil de acessar a documentação das tabelas pegando o Nome da
Coluna, se aceita null, o tipo de dado, entre outras. Mas uma muito importante é a descrição da coluna.
para a coluna com o seguinte comando:
Create procedure PS_desc
@tab varchar(30) — Nome da tabela
As
SELECT left(column_name,25) [Coluna],
is_nullable as [Aceita NULL] ,
left(data_type,10) as [Tipo] ,
character_maximum_length as [Tamanho],
numeric_precision as [Precisão],
numeric_scale as [Escala] ,
fn.value as [Descrição]
FROM information_schema.columns ic
left join ::fn_listextendedproperty (NULL,N’user’,N’dbo’, N’table’,@tab, N’column’,Null) fn
on ic.column_name =fn.objname
where ic.table_name=@tab
Para execurar a procedure siga o exemplo, EXEC Ps_desc ‘NOMEDATABELA’
EXEC PS_desc ‘Authors’
O Resultado da procedure é como abaixo:
Coluna Aceita NULL Tipo Tamanho Precisão Escala Descrição
———- ———– ———- ———– ——– ———– ———-
au_id No varchar 11 NULL NULL NULL
au_lname No varchar 40 NULL NULL NULL
au_fname No varchar 20 NULL NULL NULL
phone No char 12 NULL NULL Numero do telefone
address YES varchar 40 NULL NULL NULL
city YES varchar 20 NULL NULL NULL
state YES char 2 NULL NULL NULL
zip YES char 5 NULL NULL NULL
contract No bit NULL 1 0 NULL
Felipe Renz

