ストアド関数*を作成する*か既存の関数を変更して、データベース*のメタデータ*内に格納します。
パラメーター型と CSL ステートメントの規則は、 let ステートメントの場合と同じです。
アクセス許可
このコマンドには、新しい関数を作成するための Database User アクセス許可と、既存の関数を変更するための Function Admin アクセス許可が必要です。
構文
.create-or-alter
function [ with(propertyName=propertyValue [, ...])] functionName(parameters){body}
構文規則について詳しく知る。
パラメーター
| 件名 | タイプ | Required | 説明 |
|---|---|---|---|
| functionName | string |
✔️ | 作成または変更する関数の名前。 |
| propertyName, propertyValue | string |
キーと値のプロパティのペアのコンマ区切りのリスト。 サポートされるプロパティを参照してください。 | |
| parameters | string |
関数で必要なパラメーターのコンマ区切りのリスト。 各パラメーターの形式は、 ParameterName:ParameterDataType にする必要があります。 |
|
| body | string |
✔️ | 0 個以上の let ステートメントの後に、関数の呼び出し時に評価される有効な CSL 式が続きます。 |
Note
指定された FunctionName の関数がデータベース メタデータに存在しない場合、コマンドは新しい関数を作成します。 それ以外の場合、その関数が変更されます。
サポートされるプロパティ
| 件名 | タイプ | 説明 |
|---|---|---|
docstring |
string |
UI 用の関数の説明。 |
folder |
string |
UI 関数の分類に使用されるフォルダーの名前。 |
view |
bool |
保存されるビューとしてこの関数を指定します。 保存されたビューは、 search および union * シナリオに参加できます。 詳細については、「 Views」を参照してください。 |
skipvalidation |
bool |
関数に対して検証ロジックを実行するかどうかを決定し、関数が有効でない場合はプロセスを失敗します。 既定値は、false です。 |
例
次の例では、description () フォルダーを使用して docstring 関数を作成し、MyLimit パラメーターを定義します。
.create-or-alter function with (docstring = 'Demo function with parameter', folder='MyFolder')
TestFunction(myLimit:int)
{ StormEvents | take myLimit}
出力
| 件名 | パラメーター | 本文 | フォルダー | DocString |
|---|---|---|---|---|
| TestFunction | (myLimit:int) | { StormEvents | take myLimit } | MyFolder | パラメーターを使用したデモ関数 |
関連コンテンツ
- .create 関数 を する