0

insert and update我为oracle数据库编写了一个java程序来处理数据。DISABLE在插入或更新数据之前,我需要一些触发器。在插入或更新数据后还需要ENABLE先前 DISABLED 触发器。我写了两个 sql 脚本作为pre_script.sqlpost_script.sqlDISABLEENABLE触发器。

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

4

2 回答 2

2

最简单的选择是将您的 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-25T08:59:40.133 回答
0
import java.io.*;
import java.sql.*;

假设连接对象为conn

从连接对象创建 SQL 语句:

Statement DMLString conn.createStatement();

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

String sql = "ALTER TRIGGER [TRIGGER_NAME] DISABLE";

对数据库执行 SQL

String  result = DMLString.execute(sql.toString());
于 2012-05-25T08:48:55.663 回答