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> [ , ... ] ) [ , 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 [ , ... ] ) [ , TABLE( arg_data_type [ , ... ] ) ]
Especifica o tipo de dados dos argumentos da coluna para a DMF. Os tipos de dados são necessários porque as DMFs oferecem suporte à sobrecarga de nomes (ou seja, duas DMFs no mesmo esquema podem ter o mesmo nome) e os tipos de dados do argumento são usados para identificar a DMF que você deseja descrever.
Requisitos de controle de acesso¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
Privilégio |
Objeto |
Notas |
---|---|---|
USAGE |
Função de métrica de dados |
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.
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 |
+-----------+---------------------------------------------------------------------+