.create-or-alter function 命令

适用于:✅Azure 数据资源管理器

创建存储函数或更改现有函数,并将其存储在数据库元数据中。

参数类型和 CSL 语句的规则与 let 语句的规则相同。

权限

此命令需要数据库用户权限才能创建新函数,需要函数管理员权限才能更改现有函数。

语法

.create-or-alter function [ with (propertyName = propertyValue [, ...])] functionName (parameters) { body }

详细了解语法约定

参数

客户 类型​​ 必需 说明
functionName string ✔️ 要创建或更改的函数的名称。
propertyName、propertyValue string 键值属性对的逗号分隔列表。 请参阅支持的属性
参数 string 函数所需参数的逗号分隔列表。 每个参数的格式必须为 ParameterName:ParameterDataType。
正文 string ✔️ 零个或多个 let 语句,后跟有效的 CSL 表达式,该表达式在函数调用时求值。

注意

如果在数据库元数据中不存在具有所提供的 functionName 的函数,则该命令将创建一个新函数。 否则,将更改该函数。

支持的属性

名称 Type 描述
docstring string 用于 UI 目的的函数说明。
folder string 用于 UI 函数分类的文件夹的名称。
view bool 将此函数指定为存储视图。 存储视图可以参与搜索联合*方案。 有关详细信息,请参阅视图
skipvalidation bool 确定是否对函数运行验证逻辑,如果函数无效,则让进程失败。 默认为 false

示例

以下示例使用说明 (docstring)、文件夹创建 TestFunction 函数,并定义 MyLimit 参数。

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

输出

名称 parameters 正文 文件夹 DocString
TestFunction (myLimit:int) { StormEvents | take myLimit } MyFolder 带参数的演示函数