} else if (data_type.equals("datetime")) {
tablescript = tablescript + "date" + " ";
}
if (column_default.length() > 0) { // 是否有默認值
if (column_default.equals("CURRENT_TIMESTAMP")) {
tablescript = tablescript + "default sysdate" + " ";
} else {
tablescript = tablescript + "default " + column_default
+ " ";
}
}
if (is_nullable.equals("NO")) { // 是否為空值
tablescript = tablescript + "not null,";
} else {
tablescript = tablescript + ",";
}
if (extra.equals("auto_increment")) { // 是否自動增長列
int maxid = get_maxId(tablename, column_name);
tablesequence = "create sequence sq_" + tablename + " "
+ "minvalue " + maxid + " "
+ "maxvalue 9999999999999999 " + "increment by 1 "
+ "start with " + maxid + " " + "cache 20;";
tabletrigger = "EXECUTE IMMEDIATE 'create trigger tr_"
+ tablename + " " + "before " + "insert on "
+ tablename + " for each row " + "begin "
+ "select sq_" + tablename + ".nextval into:new."
+ column_name + " from dual; " + "end;';";
}
if (column_key.length() > 0) {
if (column_key.equals("PRI")) {
primarykey++;
primarkeyColumn = primarkeyColumn + column_name + ",";
} else if (column_key.equals("MUL")) {
index++;
indexColumn = indexColumn + column_name + ",";
}
}
}
if (primarykey == 1) {
primarkeyColumn = primarkeyColumn.substring(0, primarkeyColumn
.length() - 1);
String key = "pr_" + tablename + "_" + primarkeyColumn;
if (key.length() > 30) {
key = "pr_" + primarkeyColumn;
}
tableprimarykey = "alter table " + tablename
+ " add constraint " + key + " primary key ("
+ primarkeyColumn + ");";
} else {
primarkeyColumn = primarkeyColumn.substring(0, primarkeyColumn
.length() - 1);
String indextemp = tablename + "_index";
if (indextemp.length() > 30)
indextemp = primarkeyColumn.replace(',', '_') + "_index";
tableindex = "create index " + indextemp + " on " + tablename
+ " (" + primarkeyColumn + ");";
}
if (index > 0) {
indexColumn = indexColumn
.substring(0, indexColumn.length() - 1);
String indextemp = tablename + "_index";
if (indextemp.length() > 30)
indextemp = indexColumn.replace(',', '_') + "_index";
tableindex = "create index " + indextemp + " on " + tablename
+ " (" + indexColumn + ");";
}
tablescript = tablescript.substring(0, tablescript.length() - 1);
tablescript = tablescript + ");";
if (tablescript.length() > 0)
write(filepathCreateTable, tablescript);
if (tablesequence.length() > 0)
write(filepathCreateSequence, tablesequence);
if (tabletrigger.length() > 0)
write(filepathCreateTrigger, tabletrigger);
if (tableprimarykey.length() > 0)
write(filepathCreatePrimarykey, tableprimarykey);
if (tableindex.length() > 0)
write(filepathCreateIndex, tableindex);
}
}
public void close() {
try {
statement.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Vector
Vector
try {
String queryDetail = "SELECT * "
+ "FROM `information_schema`.`COLUMNS` "
+ "where `TABLE_SCHEMA`='" + DBSCHEMA + "' "
+ "and `TABLE_NAME`='" + tablename + "' "
+ "order by `ORDINAL_POSIT