用户定义的函数在documentdb中不再起作用

时间:2015-03-26 12:34:16

标签: azure azure-cosmosdb

我正在使用Microsoft Azure DocumentDB Client Library来管理文档数据库。 但是最近所有用户定义的函数都停止了工作。 为了测试功能,我尝试了这个简单的用户定义函数,

我可以使用

创建用户定义的函数
var udf = new UserDefinedFunction
            {
                Id = "Tax",
                Body = "function(value) { return value * .2;} ",
            };
Microsoft.Azure.Documents.Client.DocumentClient.CreateUserDefinedFunctionAsync(colSelfLink, udf)

然而,当我在我的sql查询中使用udf时,我收到一条错误

  

税收不是公认的内置功能。<​​/ p>

1 个答案:

答案 0 :(得分:3)

DocumentDB现在需要区分大小写的“udf”。查询中用户定义函数的前缀 - 例如,“SELECT udf.TAX(d.SalesAmount)FROM docs d”。旧语法已被弃用。这样做有几个原因

  • 添加对内置函数的支持,并明确消除用户定义函数的歧义
  • 对于ANSI-SQL的类似编程经验,需要模式名称,例如“dbo”。用户定义的功能
相关问题