我有两节课。下面给出的模式;
CREATE TRIGGER order_detail_bi
BEFORE INSERT ON order_detail
FOR EACH ROW
BEGIN
NEW.addrtype = OLD.addrtype;
END$$
我想将记录插入CLASS B {
PROPERTY name STRING
}
CLASS A {
PROPERTY name STRING
PROPERTY bLinkList LINKLIST B
}
,将记录插入Class B
,并将Class A
的新记录链接到Class B
的新记录。我想在交易中这样做。
我正在使用服务器端功能来执行此操作。以下是代码。
Class A
我正在使用OrientDB版本:2.0.3。我的DB是文档DB
在交易中,这不起作用。对于db.begin();
var bRid = db.command("INSERT INTO B (name) VALUES(\"Jack\") RETURN @rid");
db.command("INSERT INTO A (name) VALUES(\"Jack\")");
db.command("UPDATE A ADD bLinkList = " + bRid);
db.commit();
中的bLinkList
,会插入null
没有交易就可以了。
我已经检查了在事务中插入后返回的rid,并且正如预期的那样,它们是临时的rids。根据我提到的文档和几篇论坛帖子,记录被发送到服务器,并且在提交之前在服务器端重新创建事务,因此在客户端的事务中创建的临时rid的一致性是保持。
不幸的是,这不起作用。一些帮助弄清楚这里发生的事情将受到高度赞赏。
干杯!
欧米茄