Condividi tramite


Comando .create-or-alter function

Crea una funzione archiviata o modifica una funzione esistente e la archivia all'interno dei metadati del database.

Le regole per i tipi di parametro e le istruzioni CSL sono le stesse delle istruzioni let.

Autorizzazioni

Questo comando richiede autorizzazioni utente database per la creazione di una nuova funzione e autorizzazioni di amministratore delle funzioni per la modifica di una funzione esistente.

Sintassi

.create-or-alterfunction [ with(propertyName = propertyValue [, ...])] corpo dei parametri{) functionName ( }

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
functionName string ✔️ Nome della funzione da creare o modificare.
propertyName, propertyValue string Elenco delimitato da virgole di coppie di proprietà chiave-valore. Vedere le proprietà supportate.
parameters string Elenco delimitato da virgole di parametri richiesti dalla funzione . Il formato per ogni parametro deve essere ParameterName:ParameterDataType.
body string ✔️ Zero o più let istruzioni seguite da un'espressione CSL valida valutata alla chiamata della funzione.

Nota

Se la funzione con functionName specificato non esiste nei metadati del database, il comando crea una nuova funzione. In caso contrario, tale funzione verrà modificata.

Proprietà supportate

Nome Tipo Descrizione
docstring string Descrizione della funzione per scopi dell'interfaccia utente.
folder string Nome di una cartella usata per la categorizzazione delle funzioni dell'interfaccia utente.
view bool Designa questa funzione come vista archiviata. Le visualizzazioni archiviate possono partecipare a scenari di ricerca e unione * . Per altre informazioni, vedere Visualizzazioni.
skipvalidation bool Determina se eseguire la logica di convalida sulla funzione e non riesce il processo se la funzione non è valida. Il valore predefinito è false.

Esempio

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

Output

Nome Parametri Testo Cartella DocString
TestFunction (myLimit:int) { StormEvents | take myLimit } MyFolder Funzione demo con parametro