Fórum Campo comentado SQL Server #434476
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
Curtir tópico
+ 0Posts
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.
Gostei + 0
26/02/2013
Joel Rodrigues
Gostei + 0
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"
Gostei + 0
28/02/2013
Joel Rodrigues
Amigo, conseguiu resolver?
Gostei + 0
08/03/2013
Marcio
Exemplo:
--Tabela de produtos create table produtos ( idProduto int, --campo id descricao varchar(100) --campo descrição do produto )
falow!!
Gostei + 0
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;
Gostei + 0
09/11/2022
Diego
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)