.create-or-alter function コマンド
ストアド関数*を作成する*か既存の関数を変更して、データベース*のメタデータ*内に格納します。
パラメーター型と 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
) フォルダーを使用して TestFunction 関数を作成し、MyLimit
パラメーターを定義します。
.create-or-alter function with (docstring = 'Demo function with parameter', folder='MyFolder')
TestFunction(myLimit:int)
{ StormEvents | take myLimit}
出力
Name | パラメーター | 本文 | フォルダー | DocString |
---|---|---|---|---|
TestFunction | (myLimit:int) | { StormEvents | take myLimit } | MyFolder | パラメーターを使用したデモ関数 |