import java.sql.*;
import java.io.*;
class ExportTriggers {
public static void main(String[] args) throws Exception {
new ExportTriggers().doWork();
}
private void doWork() throws Exception {
Class.forName("oracle.jdbc.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@10.10.10.10:1521:orcl";
Connection conn = DriverManager.getConnection(url, "user", "password");
Statement st = null;
ResultSet rs = null;
String sql = "" +
"SELECT table_name , " +
" description , " +
" trigger_name, " +
" trigger_body " +
"FROM all_triggers " +
"WHERE owner ='FOO' " +
"AND trigger_type = 'BEFORE EACH ROW' " +
"AND triggering_event = 'INSERT' " +
"ORDER BY table_name";
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
String name = rs.getString("TRIGGER_NAME");
String description = rs.getString("DESCRIPTION");
String body = rs.getString("TRIGGER_BODY");
File file = new File("./output/" + name.toLowerCase() + "_trg.sql");
FileWriter fw = new FileWriter(file);
fw.write("CREATE OR REPLACE TRIGGER\r\n");
fw.write(description);
fw.write(body);
fw.write("\r\n/");
fw.flush();
fw.close();
} // end while
} finally {
rs.close();
st.close();
conn.close();
}
}
}
Thursday, August 16, 2012
A quick and dirty way to export Oracle triggers to individual text files (using Java)
Export "before row insert" triggers from Oracle 11g to individual files using a little bit of Java:
Labels:
Java,
Oracle 11g
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment