DROP TABLE ݳν PURGE;

CREATE TABLE ݳν
AS
SELECT TO_CHAR(OBJECT_ID) ȣ
     , '200903' Կ
     , round(dbms_random.value(1000, 10000), -2) 
     , round(dbms_random.value(1000, 10000), -2) ڵü
     , round(dbms_random.value(1000, 10000), -2) ſī
     , round(dbms_random.value(1000, 10000), -2) ڵ
     , round(dbms_random.value(1000, 10000), -2) ͳ
FROM   ALL_OBJECTS 
WHERE ROWNUM <= 30000;

DROP TABLE Թ_ PURGE;

CREATE TABLE Թ_ (
  ȣ      NUMBER
, Կ        VARCHAR2(6)
, Թڵ  VARCHAR2(1)
, Աݾ       NUMBER
) ;


########################################################################################################
import java.io.*;
import java.lang.*;
import java.util.*;
import java.net.*;
import java.sql.*;
import oracle.jdbc.driver.*;

public class JavaLoopQuery{
  public static void insertData( Connection con
                               , String param1
                               , String param2
                               , String param3
                               , long param4) throws Exception{
    String SQLStmt = "INSERT INTO Թ_  " 
            + "(ȣ, Կ, Թڵ, Աݾ) "
            + "VALUES(?, ?, ?, ?)";
    PreparedStatement st = con.prepareStatement(SQLStmt);
    st.setString(1, param1);
    st.setString(2, param2);
    st.setString(3, param3);
    st.setLong(4, param4);
    st.execute();
    st.close();

  }

  public static void execute(Connection con, String input_month) 
  throws Exception {
    String SQLStmt = "SELECT ȣ, Կ"
                   + "     , , ڵü, ſī, ڵ, ͳ "
                   + "FROM   ݳν "
                   + "WHERE  Կ = ?";
    PreparedStatement stmt = con.prepareStatement(SQLStmt);
    stmt.setString(1, input_month);
    ResultSet rs = stmt.executeQuery();
    while(rs.next()){
      String ȣ = rs.getString(1);
      String Կ = rs.getString(2);
      long  = rs.getLong(3);
      long ڵü = rs.getLong(4);
      long ſī = rs.getLong(5);
      long ڵ = rs.getLong(6);
      long ͳ = rs.getLong(7);
      if( > 0)     insertData (con, ȣ, Կ, "A", );
      if(ڵü > 0) insertData (con, ȣ, Կ, "B", ڵü);
      if(ſī > 0) insertData (con, ȣ, Կ, "C", ſī);
      if(ڵ > 0)   insertData (con, ȣ, Կ, "D", ڵ);
      if(ͳ > 0)   insertData (con, ȣ, Կ, "E", ͳ);
    }
    rs.close();
    stmt.close();
  }

  public static void main(String[] args) throws Exception{

    long btm = System.currentTimeMillis();

    Connection con = getConnection();

    execute(con, "200903");

    System.out.println("elapsed time : " + (System.currentTimeMillis() - btm));

    releaseConnection(con);
  }

  public static Connection getConnection() throws Exception{
    String DB_CON     = "jdbc:oracle:thin:@localhost:1521:ora10g";
    String DB_USER    = "scott";
    String DB_PASS    = "tiger";

    DriverManager.registerDriver(new OracleDriver());
    Connection con = DriverManager.getConnection(DB_CON,DB_USER,DB_PASS);

    return con;
  }

  public static void releaseConnection(Connection con) throws Exception{
    con.commit();
    con.close();
  }
}

########################################################################################################

