.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 | 带参数的演示函数 |