Campo comentado SQL Server
Pessoal, no sql server há comentário nos campos, mas é muito trabalhoso fazer pelo design
Há alguma forma de criar o comentário na hora que está criando o campo ?
Create table tabela (
id int "comentário"
Há alguma forma de criar o comentário na hora que está criando o campo ?
Create table tabela (
id int "comentário"
Rodrigo Cezar
Curtidas 0
Respostas
Joel Rodrigues
11/02/2013
Amigo, se não me engano isso só é feito através de procedures, após a criação da tabela (meio chato, né?). Nesse link é explicado: [url]http://www.ninjacode.com.br/post/2011/03/14/DescComments-no-SQL-Server.aspx[/url].
Se dá pra fazer direto no script de create, não sei, mas pode ser que já tenha sido adicionada essa funcionalidade.
Boa sorte.
Se dá pra fazer direto no script de create, não sei, mas pode ser que já tenha sido adicionada essa funcionalidade.
Boa sorte.
GOSTEI 0
Joel Rodrigues
11/02/2013
Amigo, você achou outra forma de fazer?
GOSTEI 0
Jair N.
11/02/2013
Bom dia, um comando simples pode resolver seu problema...
EXEC sys.sp_addextendedproperty "MS_Description", "@COMENTARIO", "user", "dbo", "table", "@TABELA", "column", "@COLUNA
onde:
@COMENTARIO
@TABELA
@COLUNA
Assim se tornam definidos por vossa senhoria...
EXEC sys.sp_addextendedproperty "MS_Description", "@COMENTARIO", "user", "dbo", "table", "@TABELA", "column", "@COLUNA
onde:
@COMENTARIO
@TABELA
@COLUNA
Assim se tornam definidos por vossa senhoria...
Pessoal, no sql server há comentário nos campos, mas é muito trabalhoso fazer pelo design
Há alguma forma de criar o comentário na hora que está criando o campo ?
Create table tabela (
id int "comentário"
Há alguma forma de criar o comentário na hora que está criando o campo ?
Create table tabela (
id int "comentário"
GOSTEI 0
Joel Rodrigues
11/02/2013
Pois é, é o que tem no link que eu indiquei.
Amigo, conseguiu resolver?
Amigo, conseguiu resolver?
GOSTEI 0
Marcio
11/02/2013
o mais simples de utilizar é dois traços --
Exemplo:
falow!!
Exemplo:
--Tabela de produtos create table produtos ( idProduto int, --campo id descricao varchar(100) --campo descrição do produto )
falow!!
GOSTEI 0
Ana Lunardi
11/02/2013
Uma solução para quem não se conforma em ter que ficar executando sp pra poder registrar o comentário.
Só há uma restrição: Ao incluir um comentário na criação de campos de uma tabela (Create ou Alter Table). Colocar comentário no padrão /* texto_do_comentario */
Enjoy.
Só há uma restrição: Ao incluir um comentário na criação de campos de uma tabela (Create ou Alter Table). Colocar comentário no padrão /* texto_do_comentario */
Enjoy.
/* -- Cria trigger de DDL para monitorar eventos do DATABASE CREATE TRIGGER ddl_trigger_addComentario ON DATABASE FOR DDL_TABLE_EVENTS AS DECLARE @data XML DECLARE @tabela nvarchar(100) DECLARE @comando nvarchar(2000) DECLARE @evento nvarchar(100) DECLARE @campo nvarchar(200) DECLARE @campo_aux nvarchar(200) DECLARE @comentario varchar(200) SET @data = EVENTDATA() SET @tabela = @data.value('(/EVENT_INSTANCE/ObjectName)[1]', 'nvarchar (100)') SET @comando = @data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'nvarchar (2000)') SET @evento = @data.value('(/EVENT_INSTANCE/EventType)[1]', 'nvarchar (100)') DECLARE cr_campos CURSOR LOCAL FOR select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where table_name = @tabela order by ORDINAL_POSITION IF (@evento = 'CREATE_TABLE')OR (@evento = 'ALTER_TABLE') BEGIN OPEN cr_campos FETCH NEXT FROM cr_campos INTO @campo WHILE @@FETCH_STATUS = 0 BEGIN SET @campo_aux = '%'+@campo+' %' IF (PATINDEX(@campo_aux, @comando) > 0) BEGIN SET @comando = SUBSTRING(@comando,PATINDEX (@campo_aux, @comando),LEN(@comando)) IF (PATINDEX('%*/%', @comando) > 0) BEGIN SET @comentario = SUBSTRING (@comando,PATINDEX('%/*%', @comando)+2, (PATINDEX('%*/%', @comando)-PATINDEX('%/*%', @comando))-2) SET @comentario = LTRIM(@comentario) SET @comentario = RTRIM(@comentario) EXEC sys.sp_addextendedproperty @name=N'Descricao de Coluna', @value=@comentario, @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=@tabela, @level2type=N'COLUMN', @level2name=@campo SET @comando = SUBSTRING(@comando,PATINDEX ('%/*%', @comando)+2,LEN(@comando)) END END FETCH NEXT FROM cr_campos INTO @campo END CLOSE cr_campos DEALLOCATE cr_campos END;
GOSTEI 0
Diego
11/02/2013
Ana Lunardi, como posso utilizar essa trigger? Onde precisa estar posicionado o comentário?
GOSTEI 0