Partilhar via


ROUTINES

Importante

Esta funcionalidade está em Pré-visualização Pública.

Aplica-se a:assinalado sim Databricks SQL assinalado sim Databricks Runtime 11.3 LTS e superior assinalado sim somente para o Catálogo Unity

INFORMATION_SCHEMA.ROUTINES lista as rotinas (funções) dentro do catálogo.

As linhas retornadas são limitadas às rotinas com as quais o usuário tem o privilégio de interagir.

Definição

A relação ROUTINES contém as seguintes colunas:

Nome Tipo de dados Anulável Standard Descrição
SPECIFIC_CATALOG STRING Não Sim Catálogo contendo a rotina.
SPECIFIC_SCHEMA STRING Não Sim Banco de dados (esquema) contendo a rotina.
SPECIFIC_NAME STRING Não Sim Nome exclusivo (específico) do esquema da rotina.
ROUTINE_CATALOG STRING Não Sim Jogos SPECIFIC_CATALOG.
ROUTINE_SCHEMA STRING Não Sim Jogos SPECIFIC_SCHEMA.
ROUTINE_NAME STRING Não Sim Nome da rotina.
ROUTINE_TYPE STRING Não Sim 'FUNCTION' ou 'PROCEDURE'.
DATA_TYPE STRING Sim Sim O nome do tipo de dados de resultado, 'TABLE' para uma função com valor de tabela ou NULL para procedimentos.
FULL_DATA_TYPE STRING Sim Não A definição de tipo de dados de resultado, por exemplo 'DECIMAL(10, 4)', ou 'NULL' para procedimentos.
CHARACTER_MAXIMUM_LENGTH INTEGER Sim Sim Sempre NULL, reservado para uso futuro.
CHARACTER_OCTET_LENGTH STRING Sim Sim Sempre NULL, reservado para uso futuro.
NUMERIC_PRECISION INTEGER Sim Sim Para tipos numéricos integrais de base 2, FLOATe DOUBLE, o número de bits suportados. Para DECIMAL o número de dígitos, NULL caso contrário.
NUMERIC_PRECISION_RADIX INTEGER Sim Sim Para DECIMAL 10, para todos os outros tipos numéricos 2, NULL caso contrário.
NUMERIC_SCALE INTEGER Sim Sim Para tipos numéricos integrais 0, para DECIMAL o número de dígitos à direita da vírgula decimal, NULL caso contrário.
DATETIME_PRECISION INTEGER Sim Sim Para DATE 0, para TIMESTAMP, e INTERVAL ... SECOND 3, qualquer outro INTERVAL 0, NULL caso contrário.
INTERVAL_TYPE STRING Sim Sim Para INTERVAL, a porção unitária do intervalo, de exemplo 'YEAR TO MONTH'; NULL caso contrário.
INTERVAL_PRECISION INTERAL Sim Sim Sempre NULL, reservado para uso futuro.
MAXIMUM_CARDINALITY INTEGER Sim Sim Sempre NULL, reservado para uso futuro.
ROUTINE_BODY STRING Não Sim 'SQL' ou 'PYTHON'.
ROUTINE_DEFINITION STRING Sim Sim A definição completa da rotina. NULL se o usuário não for o proprietário.
EXTERNAL_NAME STRING Sim Sim Sempre NULL, reservado para uso futuro.
EXTERNAL_LANGUAGE STRING Sim Sim Sempre NULL, reservado para uso futuro.
PARAMETER_STYLE STRING Sim Sim 'SQL', reservado para uso futuro.
IS_DETERMINISTIC STRING Não Sim 'YES' se a rotina for definida como determinística, 'NO' caso contrário.
SQL_DATA_ACCESS STRING Não Sim 'MODIFIES SQL DATA' para procedimentos, 'READS SQL DATA' se a função for lida a partir de uma relação, 'CONTAINS SQL' caso contrário.
IS_NULL_CALL STRING Sim Sim Sempre 'YES', reservado para uso futuro.
SQL_PATH STRING Sim Sim Sempre NULL, reservado para uso futuro.
SECURITY_TYPE STRING Não Sim 'DEFINER' se a rotina é executada sob os direitos do definidor, 'INVOKER' se executa sob a autorização do invocador.
AS_LOCATOR STRING Não Sim Sempre 'NO', reservado para uso futuro.
COMMENT STRING Sim Não Um comentário opcional descrevendo a rotina.
CREATED TIMESTAMP Não Não Carimbo de data/hora quando a rotina foi criada.
CREATED_BY STRING Não Não Principal que criou a rotina.
LAST_ALTERED TIMESTAMP Não Não Data e hora em que a definição de rotina foi alterada pela última vez de alguma forma.
LAST_ALTERED_BY STRING Não Não Principal foi quem alterou a rotina pela última vez.

Restrições

As seguintes restrições se aplicam à ROUTINES relação:

Classe Nome Lista de colunas Descrição
Chave primária ROUTINES_PK SPECIFIC_CATALOG, SPECIFIC_SCHEMA, SPECIFIC_NAME Identifica exclusivamente a rotina.
Chave estrangeira ROUTINES_SCHEMATA_FK SPECIFIC_CATALOG, SPECIFIC_SCHEMA Referências SCHEMATA

Exemplos

> SELECT routine_name, routine_definition
    FROM information_schema.routines
    WHERE specific_schema = 'default'
    ORDER BY routine_name;