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:
Sintaxe¶
{ DESC | DESCRIBE } FUNCTION [ IF EXISTS ] <name>(
TABLE ( <arg_data_type> [ , ... ] )
)
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
)
);
+-----------+---------------------------------------------------------------------+
| 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 |
+-----------+---------------------------------------------------------------------+