Compartir a través de


Comando .create-or-alter function

Crea una función almacenada o modifica una función existente y la almacena dentro de los metadatos de la base de datos.

Las reglas para los tipos de parámetro y las instrucciones CSL son las mismas que para las instrucciones let.

Permisos

Este comando requiere permisos de usuario de base de datos para crear una nueva función y permisos de administrador de funciones para modificar una función existente.

Sintaxis

.create-or-alterfunction [ with(propertyName = propertyValue [, ...])] cuerpo de parámetros{) functionName ( }

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
functionName string ✔️ Nombre de la función que se va a crear o modificar.
propertyName, propertyValue string Lista separada por comas de pares de propiedades clave-valor. Consulte las propiedades admitidas.
parameters string Lista separada por comas de parámetros requeridos por la función. El formato de cada parámetro debe ser ParameterName:ParameterDataType.
cuerpo string ✔️ Cero o más let instrucciones seguidas de una expresión CSL válida que se evalúa tras la invocación de función.

Nota:

Si la función con el functionName proporcionado no existe en los metadatos de la base de datos, el comando crea una nueva función. De lo contrario, esa función se cambiará.

Propiedades admitidas

Nombre Escribir Descripción
docstring string Descripción de la función con fines de interfaz de usuario.
folder string Nombre de una carpeta usada para la categorización de funciones de interfaz de usuario.
view bool Designa esta función como una vista almacenada. Las vistas almacenadas pueden participar en escenarios de búsqueda y unión * . Para obtener más información, vea Vistas.
skipvalidation bool Determina si se va a ejecutar la lógica de validación en la función y se produce un error en el proceso si la función no es válida. El valor predeterminado es false.

Ejemplo

.create-or-alter function with (docstring = 'Demo function with parameter', folder='MyFolder') TestFunction(myLimit:int)
{
    StormEvents | take myLimit 
} 

Salida

Nombre Parámetros Cuerpo Carpeta DocString
TestFunction (myLimit:int) { StormEvents | take myLimit } MyFolder Función de demostración con parámetro