有谁知道如何通过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());
}
Run Code Online (Sandbox Code Playgroud)
我尝试过s.execute(...)和s.executeUpdate(...)并没有什么区别.我正在使用ojdbc5.jar驱动程序.Oracle返回错误:
ORA-04098: trigger 'POLICYUAT.STARTUPTRIGGER' is invalid and failed re-validation
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的代码,它在创建触发器方面工作正常。所以上述不起作用的原因可能是:
| 归档时间: |
|
| 查看次数: |
5355 次 |
| 最近记录: |