COMMENT

Nome

COMMENT -- define ou muda o comentário sobre um objeto

Sinopse

COMMENT ON
{
  TABLE nome_do_objeto |
  COLUMN nome_da_tabela.nome_da_coluna |
  AGGREGATE nome_da_agregação (tipo_da_agregação [, ...] ) |
  CAST (tipo_de_origem AS tipo_de_destino) |
  CONSTRAINT nome_da_restrição ON nome_da_tabela |
  CONVERSION nome_do_objeto |
  DATABASE nome_do_objeto |
  DOMAIN nome_do_objeto |
  FUNCTION nome_da_função ( [ [ modo_do_argumento ] [ nome_do_argumento ] tipo_do_argumento [, ...] ] ) |
  INDEX nome_do_objeto |
  LARGE OBJECT oid_do_objeto_grande |
  OPERATOR nome_do_operador (tipo_do_operando_à_esquerda, tipo_do_operando_à_direita) |
  OPERATOR CLASS nome_do_objeto USING método_do_índice |
  [ PROCEDURAL ] LANGUAGE nome_do_objeto |
  ROLE nome_do_objeto |
  RULE nome_da_regra ON nome_da_tabela |
  SCHEMA nome_do_objeto |
  SEQUENCE nome_do_objeto |
  TABLESPACE nome_do_objeto |
  TRIGGER nome_do_gatilho ON nome_da_tabela |
  TYPE nome_do_objeto |
  VIEW nome_do_objeto
} IS 'texto'

Descrição

O comando COMMENT armazena um comentário sobre um objeto do banco de dados. [1] [2]

Para modificar um comentário deve ser executado um novo comando COMMENT para o mesmo objeto. Para cada objeto é armazenada somente uma cadeia de caracteres de comentário. Para remover o comentário deve ser escrito NULL no lugar do texto. Os comentários são removidos automaticamente quando o objeto é removido.

Os comentários podem ser facilmente acessados através dos comandos \dd, \d+ e \l+ do psql. Podem ser construídas outras interfaces de usuário para acessar os comentários utilizando as mesmas funções nativas usadas pelo psql, ou seja: obj_description(), col_description() e shobj_description (Consulte a Tabela 9-44).

Parâmetros

nome_do_objeto
nome_da_tabela.nome_da_coluna
nome_da_agregação
nome_da_restrição
nome_da_função
nome_do_operador
nome_da_regra
nome_do_gatilho

O nome do objeto ao qual o comentário se refere. Os nomes das tabelas, agregações, domínios, funções, índices, operadores, classes de operador, seqüências, tipos e visões podem ser qualificados pelo esquema.

tipo_da_agregação

O tipo de dado de entrada sobre o qual a função de agregação opera. Para fazer referência a uma função de agregação sem argumentos, deve ser escrito * no lugar da lista de tipos de dado de entrada.

tipo_de_origem

O nome do tipo de dado original da transformação.

tipo_de_destino

O nome do tipo de dado final da transformação.

modo_do_argumento

O modo do argumento da função: pode ser IN, OUT, ou INOUT. Se for omitido, o padrão é IN. Deve ser observado que, na verdade, COMMENT ON FUNCTION não presta qualquer atenção aos argumentos OUT, uma vez que somente são necessários os argumentos de entrada para determinar a identidade da função. Portanto, basta listar os argumentos IN e INOUT.

nome_do_argumento

O nome do argumento da função. Deve ser observado que, na verdade, COMMENT ON FUNCTION não presta qualquer atenção aos nomes dos argumentos, uma vez que somente são necessários os tipos de dado dos argumentos para determinar a identidade da função.

tipo_do_argumento

Os tipos de dado dos argumentos da função (opcionalmente qualificado pelo esquema), caso haja algum.

oid_do_objeto_grande

O identificador de objeto (OID) do objeto grande.

PROCEDURAL

Meramente informativo.

texto

O novo comentário, escrito como um literal cadeia de caracteres; ou NULL para remover o comentário.

Observações

Atualmente não existe nenhum mecanismo de segurança para os comentários: qualquer usuário conectado ao banco de dados pode ver todos os comentários sobre os objetos neste banco de dados; porém, somente os superusuários podem modificar comentários sobre objetos que não lhe pertencem. No caso dos objetos compartilhados, como os bancos de dados, papéis (roles) e espaços de tabelas, os comentários são armazenados globalmente, e qualquer usuário conectado a qualquer banco de dados pode ver todos os comentários sobre os objetos compartilhados. Portanto, não devem ser colocadas informações críticas de segurança nos comentários.

Exemplos

Anexar um comentário à tabela minha_tabela:

COMMENT ON TABLE minha_tabela IS 'Esta é a minha tabela.';

Remover o comentário:

COMMENT ON TABLE minha_tabela IS NULL;

Alguns outros exemplos:

COMMENT ON AGGREGATE minha_agregacao (double precision) IS 'Calcula a variância da amostra';
COMMENT ON CAST (text AS int4) IS 'Permite transformar texto em int4';
COMMENT ON COLUMN minha_tabela.minha_coluna IS 'Número de identificação do empregado';
COMMENT ON CONVERSION minha_conversao IS 'Conversão para UTF8';
COMMENT ON DATABASE meu_bd IS 'Banco de dados de desenvolvimento';
COMMENT ON DOMAIN meu_dominio IS 'Domínio de endereço de correio eletrônico';
COMMENT ON FUNCTION minha_funcao (timestamp) IS 'Retorna algarismos romanos';
COMMENT ON INDEX meu_indice IS 'Impõe a unicidade do identificador do empregado';
COMMENT ON LANGUAGE plpython IS 'Suporte a Python nos procedimentos armazenados';
COMMENT ON LARGE OBJECT 346344 IS 'Documento de planejamento';
COMMENT ON OPERATOR ^ (text, text) IS 'Realiza a interseção de dois textos';
COMMENT ON OPERATOR - (NONE, text) IS 'Este é um operador de prefixo para texto';
COMMENT ON OPERATOR CLASS int4ops USING btree IS 'Operadores inteiro de 4 bytes para árvores-B';
COMMENT ON ROLE meu_papel IS 'Grupo de administração para tabelas financeiras';
COMMENT ON RULE minha_regra ON minha_tabela IS 'Registra as atualizações das linhas dos empregados';
COMMENT ON SCHEMA meu_esquema IS 'Dados departamentais';
COMMENT ON SEQUENCE minha_sequencia IS 'Usado para gerar as chaves primárias';
COMMENT ON TABLE meu_esquema.minha_tabela IS 'Informações dos empregados';
COMMENT ON TABLESPACE meu_espaco_de_tabelas IS 'Espaço de tabelas para índices';
COMMENT ON TRIGGER meu_gatilho ON minha_tabela IS 'Usado para integridade referencial';
COMMENT ON TYPE complex IS 'Tipo de dado de número complexo';
COMMENT ON VIEW minha_visão IS 'Visão dos custos departamentais';[3]

Compatibilidade

Não existe o comando COMMENT no padrão SQL.

Notas

[1]

Oracle — O comando COMMENT é utilizado para adicionar comentários sobre uma tabela, visão, visão materializada, ou coluna no dicionário de dados. Para remover o comentário do banco de dados o mesmo deve ser definido como um cadeia de caracteres vazia (''). Oracle® Database SQL Reference 10g Release 1 (10.1) Part Number B10759-01 (N. do T.)

[2]

DB2 — O comando COMMENT adiciona ou substitui comentários nas descrições do catálogo de vários objetos. DB2 Version 9 for Linux, UNIX, and Windows (N. do T.)

[3]

Também pode ser usada a forma COMMENT ON COLUMN minha_visao.minha_coluna IS 'Comentário sobre a coluna da visão'; (N. do T.)

SourceForge.net Logo CSS válido!