我为甲骨文数据库写了一个insert and update数据的java程序。在插入或更新数据之前,我需要DISABLE一些触发器。还需要在插入或更新数据之后ENABLE先前禁用的触发器。我为DISABLE和ENABLE触发器编写了两个sql脚本,分别为pre_script.sql和post_script.sql。
如何使用java运行这些文件?有没有什么方法可以将这些sql文件传递到java中执行?
发布于 2012-05-25 16:59:40
最简单的选择是在数据库中将SQL脚本创建为存储过程或函数,然后只需简单地从Java调用即可执行它们。
CallableStatement cs = conn.prepareCall("{ call pre_script_as_func() }");
cs.execute();
// do inserts, updates
cs = conn.prepareCall("{ call post_script_as_func() }");
cs.execute();发布于 2012-05-25 16:48:56
import java.io.*;
import java.sql.*;假设connection对象为conn
从connection对象创建SQL语句:
Statement DMLString conn.createStatement();创建一个字符串变量并使用alter trigger语句进行填充:
String sql = "ALTER TRIGGER [TRIGGER_NAME] DISABLE";对DB执行SQL
String result = DMLString.execute(sql.toString());https://stackoverflow.com/questions/10751002
复制相似问题