Zde je možnost pomocí SQLcl. SQLcl je vnitřností SQLDEV, ale zabalený do řádku cmd. Vzhledem k tomu, že Java je také k dispozici, jsou k dispozici skriptovací schopnosti jádra Java. Toto používá JavaScript jako skriptovací stroj.
Máme nějaký dokument a spoustu příkladů, jak to všechno funguje na githubu zde:https://github.com/oracle/oracle-db-tools/tree/master/sqlcl
script
var binds = {};
// get complete list of tables
var tables = util.executeReturnList("select table_name from user_tables", binds);
for (i = 0; i < tables.length; i++) {
// get count of rows
var rows = util.executeReturnOneCol('select count(1) from ' + tables[i].TABLE_NAME );
ctx.write( tables[i].TABLE_NAME + ">>" + rows + " \n" ) ;
// if more than zero dump to a csv file
if ( rows > 0 ){
sqlcl.setStmt("set sqlformat csv ")
sqlcl.run();
sqlcl.setStmt("spool " + tables[i].TABLE_NAME + ".csv")
sqlcl.run();
sqlcl.setStmt("select * from " + tables[i].TABLE_NAME )
sqlcl.run();
sqlcl.setStmt("spool off")
sqlcl.run();
}
}
/