Campo comentado SQL Server
11/02/2013
0
Há alguma forma de criar o comentário na hora que está criando o campo ?
Create table tabela (
id int "comentário"
Rodrigo Cezar
Posts
22/02/2013
Joel Rodrigues
Se dá pra fazer direto no script de create, não sei, mas pode ser que já tenha sido adicionada essa funcionalidade.
Boa sorte.
27/02/2013
Jair N.
EXEC sys.sp_addextendedproperty "MS_Description", "@COMENTARIO", "user", "dbo", "table", "@TABELA", "column", "@COLUNA
onde:
@COMENTARIO
@TABELA
@COLUNA
Assim se tornam definidos por vossa senhoria...
Há alguma forma de criar o comentário na hora que está criando o campo ?
Create table tabela (
id int "comentário"
28/02/2013
Joel Rodrigues
Amigo, conseguiu resolver?
08/03/2013
Marcio
Exemplo:
--Tabela de produtos create table produtos ( idProduto int, --campo id descricao varchar(100) --campo descrição do produto )
falow!!
18/02/2014
Ana Lunardi
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;
09/11/2022
Diego
Clique aqui para fazer login e interagir na Comunidade :)