Java中的SQL触发器调用函数
Posted
技术标签:
【中文标题】Java中的SQL触发器调用函数【英文标题】:SQL Trigger call function in Java 【发布时间】:2021-02-18 10:16:44 【问题描述】:您好,我的毕业论文有问题。我应该在 Orale 上编写一个触发器,它应该执行一个 java 函数,但问题是:
create or replace function callTokengenerator
return boolean
as language java
NAME 'SqlStatements.setTrigger()
return java.lang.Boolean';
create or replace PROCEDURE generateTokens
is
begin
callTokengenerator;
end;
CREATE OR REPLACE TRIGGER tokengenerator AFTER UPDATE OF ACTIVE ON COURSE Declare
run boolean := generateTokens;
BEGIN
run;
END;
这是我产生的错误
Error Message
【问题讨论】:
您能告诉我们您使用的是什么RDBMS吗? Java-trigger 是高度依赖数据库的特性 具体有什么“问题”?请逐字添加任何错误消息(创建时或运行时) 【参考方案1】:“RUN”不是有效的 Oracle 命令。触发器必须直接调用该函数。有关正确的触发器语法和构造,请参见此处:https://docs.oracle.com/en/database/oracle/oracle-database/19/jjdev/calling-Java-from-database-triggers.html#GUID-5C498DEF-0348-484D-AA26-2A88EF348D5C
试试这个:
create or replace function callTokengenerator
return boolean
as language java
NAME 'SqlStatements.setTrigger()
return java.lang.Boolean';
CREATE OR REPLACE TRIGGER tokengenerator AFTER UPDATE OF ACTIVE ON COURSE
DECLARE
run boolean;
BEGIN
run := callTokengenerator;
END;
【讨论】:
以上是关于Java中的SQL触发器调用函数的主要内容,如果未能解决你的问题,请参考以下文章