| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import java.sql.*;
- public class CreatePositionTable {
- public static void main(String[] args) {
- String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
- String user = "system";
- String password = "Root123456";
- String createTable =
- "CREATE TABLE T_POSITION (" +
- " ID NUMBER(19) NOT NULL," +
- " POSITION_CODE VARCHAR2(64) NOT NULL," +
- " POSITION_NAME VARCHAR2(128) NOT NULL," +
- " POSITION_TYPE VARCHAR2(32) NOT NULL," +
- " DIRECTION VARCHAR2(16) NOT NULL," +
- " QUANTITY NUMBER(18,4) DEFAULT 0," +
- " PRICE NUMBER(18,4) DEFAULT 0," +
- " MARKET_VALUE NUMBER(18,4) DEFAULT 0," +
- " ACCOUNT_CODE VARCHAR2(64)," +
- " PRODUCT_CODE VARCHAR2(64)," +
- " STATUS VARCHAR2(16) DEFAULT 'ACTIVE'," +
- " VERSION NUMBER(10) DEFAULT 0," +
- " DELETED NUMBER(1) DEFAULT 0," +
- " CREATE_TIME TIMESTAMP DEFAULT SYSDATE," +
- " UPDATE_TIME TIMESTAMP DEFAULT SYSDATE," +
- " CONSTRAINT PK_T_POSITION PRIMARY KEY (ID)," +
- " CONSTRAINT UK_T_POSITION_CODE UNIQUE (POSITION_CODE)" +
- ")";
- String createIndex1 = "CREATE INDEX IDX_T_POSITION_TYPE ON T_POSITION(POSITION_TYPE)";
- String createIndex2 = "CREATE INDEX IDX_T_POSITION_STATUS ON T_POSITION(STATUS)";
- String createIndex3 = "CREATE INDEX IDX_T_POSITION_ACCOUNT ON T_POSITION(ACCOUNT_CODE)";
- String createIndex4 = "CREATE INDEX IDX_T_POSITION_PRODUCT ON T_POSITION(PRODUCT_CODE)";
- try (Connection conn = DriverManager.getConnection(url, user, password)) {
- try (Statement stmt = conn.createStatement()) {
- // Try to drop first if exists
- try {
- stmt.execute("DROP TABLE T_POSITION");
- System.out.println("Dropped old table T_POSITION");
- } catch (SQLException ignored) {
- // Table didn't exist
- }
- stmt.execute(createTable);
- System.out.println("Created table T_POSITION successfully!");
- try { stmt.execute(createIndex1); System.out.println("Created index IDX_T_POSITION_TYPE"); }
- catch (SQLException e) { System.out.println("Index IDX_T_POSITION_TYPE: " + e.getMessage()); }
- try { stmt.execute(createIndex2); System.out.println("Created index IDX_T_POSITION_STATUS"); }
- catch (SQLException e) { System.out.println("Index IDX_T_POSITION_STATUS: " + e.getMessage()); }
- try { stmt.execute(createIndex3); System.out.println("Created index IDX_T_POSITION_ACCOUNT"); }
- catch (SQLException e) { System.out.println("Index IDX_T_POSITION_ACCOUNT: " + e.getMessage()); }
- try { stmt.execute(createIndex4); System.out.println("Created index IDX_T_POSITION_PRODUCT"); }
- catch (SQLException e) { System.out.println("Index IDX_T_POSITION_PRODUCT: " + e.getMessage()); }
- }
- System.out.println("Done!");
- } catch (SQLException e) {
- System.err.println("Error: " + e.getMessage());
- e.printStackTrace();
- }
- }
- }
|