我尝试在OrientDB中编写一个SQL函数来对表Feature
进行插入。函数体看起来像这样,它接受两个参数w
和t
。
insert into Feature (weight, title) values (w, t) return @rid
当我使用指定为12
和some title
的参数执行此函数时,我得到的响应就是这个。
[
{
"@type": "d",
"@rid": "#21:24135",
"@version": 1,
"@class": "Feature",
"weight": null,
"title": null
}
]
看起来好像没有设置参数,因此值12
和some title
在函数中没有可见性。我还尝试在函数体中使用$
之类的参数名称之前的特殊字符(将参数值称为$t
的{{1}})并且仍然没有运气。
答案 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"
}
]
希望有所帮助