gpt4 book ai didi

java - 通过 JDBC (oracle) 创建触发器

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:38 24 4
gpt4 key购买 nike

有谁知道如何通过 JDBC 创建触发器。看来问题出在分号上。非常感谢任何反馈。

以下 SQL 在数据库上运行时有效,但在使用以下 Java 代码运行时无效:

Connection c=null;
Statement s=null;
try {
c=dataSource.getConnection();
s=c.createStatement();
s.executeUpdate("create or replace trigger startuptrigger after insert on startuptest for each row begin insert into startuptest values(99); end");
s.close();
s=null;
c.close();
c=null;
} catch(SQLException e) {
if(s!=null) { try { s.close(); } catch(Exception f){} }
if(c!=null) { try { c.close(); } catch(Exception f){} }
throw new IOException(e.toString());
}

我已经尝试过 s.execute(...) 和 s.executeUpdate(...),但没有任何区别。我正在使用 ojdbc5.jar 驱动程序。 Oracle 返回错误:

ORA-04098: trigger 'POLICYUAT.STARTUPTRIGGER' is invalid and failed re-validation

最佳答案

PL/SQL语法要求在结尾的end后面加一个分号。即字符串应该如下所示

“在为每一行插入启动测试后创建或替换触发器启动触发器开始插入启动测试值(99);结束;”

关于java - 通过 JDBC (oracle) 创建触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1297777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com