DESCRIBE FUNCTION (DMF)

Descreve a função de métrica de dados especificada (DMF), incluindo a assinatura (argumentos), valor de retorno, idioma e corpo (definição).

Consulte também:

Referência de comando de DMF

Sintaxe

{ DESC | DESCRIBE } FUNCTION [ IF EXISTS ] <name>(
  TABLE ( <arg_data_type> [ , ... ] )
  )
Copy

Parâmetros

name

Especifica o identificador da função a ser descrita.

Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais informações, consulte Requisitos para identificadores.

TABLE( [ arg_data_type ] [ , ... ] )

Especifica o tipo de dados do(s) argumento(s), se houver, para o DMF. Os tipos de argumentos são necessários porque DMFs oferecem suporte à sobrecarga de nomes (ou seja, duas DMFs no mesmo esquema podem ter o mesmo nome) e os tipos de argumentos são usados para identificar a DMF que se deseja descrever.

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

USAGE

Função de métrica de dados

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Exemplo

Descreva a DMF para visualizar suas propriedades:

DESC FUNCTION governance.dmfs.count_positive_numbers(
  TABLE(
    NUMBER, NUMBER, NUMBER
  )
);
Copy
+-----------+---------------------------------------------------------------------+
| property  | value                                                               |
+-----------+---------------------------------------------------------------------+
| signature | (ARG_T TABLE(ARG_C1 NUMBER, ARG_C2 NUMBER, ARG_C3 NUMBER))          |
| returns   | NUMBER(38,0)                                                        |
| language  | SQL                                                                 |
| body      | SELECT COUNT(*) FROM arg_t WHERE arg_c1>0 AND arg_c2>0 AND arg_c3>0 |
+-----------+---------------------------------------------------------------------+