在函数体内部无法访问OrientDB SQL函数参数值

时间:2016-02-03 14:24:25

标签: sql function orientdb

我尝试在OrientDB中编写一个SQL函数来对表Feature进行插入。函数体看起来像这样,它接受两个参数wt

insert into Feature (weight, title) values (w, t) return @rid

当我使用指定为12some title的参数执行此函数时,我得到的响应就是这个。

[ { "@type": "d", "@rid": "#21:24135", "@version": 1, "@class": "Feature", "weight": null, "title": null } ]

看起来好像没有设置参数,因此值12some title在函数中没有可见性。我还尝试在函数体中使用$之类的参数名称之前的特殊字符(将参数值称为$t的{​​{1}})并且仍然没有运气。

3 个答案:

答案 0 :(得分:1)

您可以使用此查询

insert into Feature (weight, title) values (:w, :t) return @rid

答案 1 :(得分:0)

你能看到:" titile&#34 ;: null not" title&#34 ;,所以这个插入Feature(权重, title )值(w,t )返回@rid,它无法找到要分配的属性,我想

答案 2 :(得分:0)

我认为你执行了命令

insert into Feature (weight, title) values (w, t) return @rid

但是在传递参数w和t时忘记插入引号。 试试这段代码:

var g=orient.getGraph();
var ins = g.command('sql','insert into Feature (weight, title) values ('+w+', "'+t+'")');
return ins;

<强>输出

[
    {
        "@type": "d",
        "@rid": "#12:-2",
        "@version": 0,
        "@class": "Feature",
        "weight": 14,
        "title": "sometitle",
        "@fieldTypes": "weight=d"
    }
]

希望有所帮助