首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Java运行Oracle Sql脚本

问通过Java运行Oracle Sql脚本
EN

Stack Overflow用户
提问于 2012-05-25 16:24:35
回答 2查看 1.5K关注 0票数 0

我为甲骨文数据库写了一个insert and update数据的java程序。在插入或更新数据之前,我需要DISABLE一些触发器。还需要在插入或更新数据之后ENABLE先前禁用的触发器。我为DISABLE和ENABLE触发器编写了两个sql脚本,分别为pre_script.sql和post_script.sql。

如何使用java运行这些文件?有没有什么方法可以将这些sql文件传递到java中执行?

EN

回答 2

Stack Overflow用户

发布于 2012-05-25 16:59:40

最简单的选择是在数据库中将SQL脚本创建为存储过程或函数,然后只需简单地从Java调用即可执行它们。

代码语言:javascript
复制
CallableStatement cs = conn.prepareCall("{ call pre_script_as_func() }");
cs.execute();

// do inserts, updates 

cs = conn.prepareCall("{ call post_script_as_func() }");
cs.execute();
票数 2
EN

Stack Overflow用户

发布于 2012-05-25 16:48:56

代码语言:javascript
复制
import java.io.*;
import java.sql.*;

假设connection对象为conn

从connection对象创建SQL语句:

代码语言:javascript
复制
Statement DMLString conn.createStatement();

创建一个字符串变量并使用alter trigger语句进行填充:

代码语言:javascript
复制
String sql = "ALTER TRIGGER [TRIGGER_NAME] DISABLE";

对DB执行SQL

代码语言:javascript
复制
String  result = DMLString.execute(sql.toString());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10751002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档