我正在开发一个基于XML 的项目。我使用 Sedna 数据库来存储我的集合(其中包含 XML 文件及其 XSD 架构文件)。
我在这些方案中定义了主键/唯一键,但到目前为止我可以将重复值(通过 XQuery 更新插入命令)插入到主键字段中。
为了保证唯一性约束,您应该在正确的路径上创建 BEFORE INSERT FOR EACH NODE 触发器。在触发动作中$NEW
传递变量可用于获取新密钥并检查它是否已存在于文档中(请参阅examples http://sednadb.com/progguide/ProgGuidesu9.html#x15-600002.6.1在手册中)。引发错误fn:error https://www.w3.org/TR/xpath-functions/#func-error可以使用函数。
请注意以下有关触发器的注意事项:
“禁止在触发操作的语句中使用序言” — Sedna 程序员指南,XQuery 触发器 http://sednadb.com/progguide/ProgGuidesu9.html#x15-590002.6.
也可以看看bug 51 https://sourceforge.net/p/sedna/bugs/51/(尽管已经关闭)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)