hibernate - 在 HANA DB 中创建“而不是插入”触发器的语法
问题描述
我正在使用这种语法
CREATE TRIGGER tgBook
INSTEAD OF INSERT ON "SYSTEM"."BOOK"
FOR EACH ROW
BEGIN
INSERT INTO "SYSTEM"."CLASSA" (rollNo, name, percentage)
SELECT rollNo, name, percentage
FROM INSERTED
INSERT INTO "SYSTEM"."ClassB" (english, maths)
SELECT english, maths
FROM INSERTED
END
我收到此错误
Could not execute 'CREATE TRIGGER tgBook INSTEAD OF INSERT ON "SYSTEM"."BOOK" FOR EACH ROW BEGIN INSERT INTO ...'
SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "INTO": line 8 col 8 (at pos 206)
我正在使用 HANA DB 并且在 HANA DB 中正常的 SQL 触发器查询不起作用,所以我需要正确的语法欢迎任何建议谢谢
解决方案
我得到了解决方案,实际上语法是错误的。实际的语法是
CREATE TRIGGER "SYSTEM"."tgBook" INSTEAD OF INSERT ON "SYSTEM"."BOOK" REFERENCING NEW ROW NEW FOR EACH ROW
BEGIN INSERT
INTO ClassA (rollNo,
name,
percentage) VALUES(:NEW.rollNo,
:NEW.name,
:NEW.percentage)
;
INSERT
INTO ClassB (rollNo,
english,
maths) VALUES(:NEW.rollNo,
:NEW.english,
:NEW.maths)
;
END
;
推荐阅读
- android - Ionic Cordova 应用程序在某些设备中不起作用
- python-3.x - 使用 Raspberry Pi 和 Python3 进行继电器控制
- python - 如果特定列包含除数字以外的任何内容,则删除行?
- c# - 如何解决 SOAP 异常“无法识别服务”?
- three.js - 将模型加载到 a-entity
- sourcelink - 我可以在现有 PDB 文件上手动运行 SourceLink 吗?
- java - 如何正确扩展 Credential 类并覆盖使用其内部锁的方法
- postgresql - Postgresql & pgAdmin:为数据库中的每个新表添加一个默认列
- amazon-web-services - AWS 开发工具包运行实例和 IAM 角色
- ruby-on-rails - 表单中的 ActiveModel 第一个参数不能包含 nil