用户定义函数在 documentdb 中不再起作用
UserDefined Function is not working any more in document db
我正在使用 Microsoft Azure DocumentDB 客户端库来管理文档数据库。
但是最近我所有的用户定义函数都停止工作了。
为了测试功能,我尝试了这个简单的用户定义函数,
我可以使用
创建用户定义的函数
var udf = new UserDefinedFunction
{
Id = "Tax",
Body = "function(value) { return value * .2;} ",
};
Microsoft.Azure.Documents.Client.DocumentClient.CreateUserDefinedFunctionAsync(colSelfLink, udf)
然而,当我在 sql 查询中使用 udf 时,我收到一条错误消息
Tax is not a recognized built-in function.
DocumentDB 现在需要为查询中的用户定义函数添加区分大小写的 "udf." 前缀 - 例如 "SELECT udf.TAX(d.SalesAmount) FROM docs d"。旧语法已被弃用。这样做有几个原因
- 添加对内置函数的支持并明确区分它们与用户定义的函数
- 对于使用 ANSI-SQL 的类似编程体验,需要模式名称,例如,"dbo." 用于用户定义的函数
我正在使用 Microsoft Azure DocumentDB 客户端库来管理文档数据库。 但是最近我所有的用户定义函数都停止工作了。 为了测试功能,我尝试了这个简单的用户定义函数,
我可以使用
创建用户定义的函数var udf = new UserDefinedFunction
{
Id = "Tax",
Body = "function(value) { return value * .2;} ",
};
Microsoft.Azure.Documents.Client.DocumentClient.CreateUserDefinedFunctionAsync(colSelfLink, udf)
然而,当我在 sql 查询中使用 udf 时,我收到一条错误消息
Tax is not a recognized built-in function.
DocumentDB 现在需要为查询中的用户定义函数添加区分大小写的 "udf." 前缀 - 例如 "SELECT udf.TAX(d.SalesAmount) FROM docs d"。旧语法已被弃用。这样做有几个原因
- 添加对内置函数的支持并明确区分它们与用户定义的函数
- 对于使用 ANSI-SQL 的类似编程体验,需要模式名称,例如,"dbo." 用于用户定义的函数