ROUTINES

Importante

Esta característica está en versión preliminar pública.

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 11.3 LTS y versiones posteriores casilla marcada como Sí solo Unity Catalog

INFORMATION_SCHEMA.ROUTINES enumera las rutinas (funciones) dentro del catálogo.

Las filas devueltas se limitan a las rutinas con las que el usuario tiene privilegios para interactuar.

Definición

La relación ROUTINES contiene las columnas siguientes:

Nombre Tipo de datos Anulable Estándar Descripción
SPECIFIC_CATALOG STRING No Sí Catálogo que contiene la rutina.
SPECIFIC_SCHEMA STRING No Sí Base de datos (esquema) que contiene la rutina.
SPECIFIC_NAME STRING No Sí Nombre único (específico) del esquema de la rutina.
ROUTINE_CATALOG STRING No Sí Coincide con SPECIFIC_CATALOG.
ROUTINE_SCHEMA STRING No Sí Coincide con SPECIFIC_SCHEMA.
ROUTINE_NAME STRING No Sí Nombre de la rutina.
ROUTINE_TYPE STRING No Sí 'FUNCTION' o 'PROCEDURE'.
DATA_TYPE STRING Sí Sí Nombre del tipo de datos de resultado, 'TABLE' para una función con valores de tabla o NULL para procedimientos.
FULL_DATA_TYPE STRING Sí No Definición del tipo de datos de resultado, por ejemplo 'DECIMAL(10, 4)', o 'NULL' para procedimientos.
CHARACTER_MAXIMUM_LENGTH INTEGER Sí Sí NULL siempre está reservado para su uso futuro.
CHARACTER_OCTET_LENGTH STRING Sí Sí NULL siempre está reservado para su uso futuro.
NUMERIC_PRECISION INTEGER Sí Sí Para los tipos numéricos enteros de base 2, FLOAT, y DOUBLE, el número de bits admitidos. Para DECIMAL el número de dígitos, en caso contrario, NULL.
NUMERIC_PRECISION_RADIX INTEGER Sí Sí Para 10, DECIMAL, en el caso de los demás tipos numéricos 2, en caso contrario, NULL.
NUMERIC_SCALE INTEGER Sí Sí En el caso de los tipos numéricos enteros 0, en DECIMAL el número de dígitos situados a la derecha del separador decimal, NULL en caso contrario.
DATETIME_PRECISION INTEGER Sí Sí Para DATE 0, para TIMESTAMP y INTERVAL ... SECOND 3, cualquier otro INTERVAL 0, de lo contrario, NULL.
INTERVAL_TYPE STRING Sí Sí Para INTERVAL la parte unitaria del intervalo, por ejemplo, 'YEAR TO MONTH', de lo contrario NULL.
INTERVAL_PRECISION INTERAL Sí Sí NULL siempre está reservado para su uso futuro.
MAXIMUM_CARDINALITY INTEGER Sí Sí NULL siempre está reservado para su uso futuro.
ROUTINE_BODY STRING No Sí 'SQL' o 'PYTHON'.
ROUTINE_DEFINITION STRING Sí Sí Definición completa de la rutina. NULL si el usuario no es el propietario.
EXTERNAL_NAME STRING Sí Sí NULL siempre está reservado para su uso futuro.
EXTERNAL_LANGUAGE STRING Sí Sí NULL siempre está reservado para su uso futuro.
PARAMETER_STYLE STRING Sí Sí 'SQL', reservado para uso futuro.
IS_DETERMINISTIC STRING No Sí 'YES' si la rutina se define como determinista; de lo contrario, es 'NO'.
SQL_DATA_ACCESS STRING No Sí 'MODIFIES SQL DATA' para procedimientos, 'READS SQL DATA' si la función lee de una relación, de lo contrario, 'CONTAINS SQL'.
IS_NULL_CALL STRING Sí Sí 'YES' siempre está reservado para su uso futuro.
SQL_PATH STRING Sí Sí NULL siempre está reservado para su uso futuro.
SECURITY_TYPE STRING No Sí 'DEFINER' si la rutina se ejecuta bajo los derechos del definidor, 'INVOKER' si se ejecuta bajo la autorización del invocador.
AS_LOCATOR STRING No Sí 'NO' siempre está reservado para su uso futuro.
COMMENT STRING Sí No Comentario opcional que describe la rutina.
CREATED TIMESTAMP No No Marca de tiempo en la que se creó la rutina.
CREATED_BY STRING No No Entidad de seguridad que creó la relación.
LAST_ALTERED TIMESTAMP No No Marca de tiempo que indica cuándo se modificó por última vez de cualquier manera la definición de la rutina.
LAST_ALTERED_BY STRING No No Entidad de seguridad que modificó la rutina por última vez.

Restricciones

Se aplican las restricciones siguientes a la relación ROUTINES:

Clase Nombre Lista de columnas Descripción
Clave principal ROUTINES_PK SPECIFIC_CATALOG, , SPECIFIC_SCHEMA, SPECIFIC_NAME Identifica de forma única la rutina.
Clave externa ROUTINES_SCHEMATA_FK SPECIFIC_CATALOG, SPECIFIC_SCHEMA Hace referencia a SCHEMATA

Ejemplos

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