orientdb - 使用 SQL 语言创建 onBeforeCreate 动态钩子
问题描述
我想使用 SQL 为 onBeforeCreate 事件创建一个动态挂钩来验证记录。如何在函数中访问新记录的属性?
我正在使用 OrientDB 3.0.4。在工作室中,我将这些命令输入到一个新数据库中进行设置:
create class Kid extends V,OTriggered;
create property Kid.FirstName String;
create property Kid.LastName String;
create property Kid.Age Integer;
create property Kid.Grade Integer;
create function CreatingKid 'begin; console.log "Creating Kid"; commit; return "ok";' language SQL;
alter class Kid custom onBeforeCreate=CreatingKid;
我使用以下方法对其进行测试,但似乎不起作用。日志中没有打印任何内容:
insert into Kid(FirstName, LastName, Age, Grade)values('Karen', 'Tooyoung', 8, 10);
我有两个问题:1)我如何知道是否正在调用 CreatingKid 函数(我没有在控制台中看到“Creating Kid”消息),以及 2)我应该如何更改 CreatingKid 函数来比较年龄和如果年龄减去等级小于 5,评分并拒绝记录?
解决方案
推荐阅读
- elasticsearch - 忽略 Elasticsearch 6.5 查询字符串查询中的空格
- c# - 没有任务等待时如何正确延迟
- mysql - ERROR 1064:是否有 mysql 创建表来插入外键?我收到语法错误
- python - Django REST Framework:使用列表测试 POST 请求时出错
- c++ - 为什么是`decltype(static_cast
(...))` 不总是`T`? - python - 如何在 PyCuda 的内核中初始化和运行 Mersenne Twister Random Generator
- c++ - C++ 用更多元素重写浮点向量
- ksqldb - KSQL 从流中创建表以获取最新数据
- xcode - Xcode 11. 无法在模拟器中安装应用程序
- haproxy - 如何使用我们正在运行的 HAProxy 和\或后端服务器测试 HAProxy 路由规则