データベーステーブルの存在を判断し、テーブル名を変更する方法
2112 ワード
一、データベーステーブルが存在するかどうかを判断する:まずデータベース接続connを入手し、DatabaseMeta dbmd=conn.get Data Meta()を呼び出します。その後、
/**
* ,
* @param tableName
* @return true: ,false:
*/
public boolean hasTable(String tableName) {
Init();
boolean result = false; //
try{
ResultSet set = dbmd.getTables (null, null, tableName, null); //
while (set.next()) { // ,
result = true; // true
}
}catch(Exception e){
e.printStackTrace();
}
return result;
}
、テーブル名を変更する方法を呼び出します。まず、データベース接続connとデータベース記述オブジェクトdbmd、およびSttementオブジェクトstを取得してから、次の方法
/**
*
* @param srcTableName
* @param newTableName
* @return true: ,false:
*/
public boolean renameTable(String srcTableName,String newTableName){
Init();
boolean result = false;
StringBuffer sql = new StringBuffer();
try{
String dataBaseType = dbmd.getDatabaseProductName(); //
if(("Microsoft SQL Server").equals(dataBaseType)){ //sqlServer
try{
sql.append("EXEC sp_rename"+" "+srcTableName).append(",").append(newTableName);
int temp = 0;
temp = st.executeUpdate(sql.toString()); // ,
if(1==temp){
result = true; // true
}
}catch(Exception e){
e.printStackTrace();
}
}else if(("HSQL Database Engine").equals(dataBaseType)||("MySQL").equals(dataBaseType)){ //hsql mysql
try{
sql.append("ALTER TABLE"+" "+srcTableName+" "+"RENAME TO"+" "+newTableName);
int temp = 1;
temp = st.executeUpdate(sql.toString()); // ,
if(0==temp){
result = true; // true
}
}catch(Exception e){
e.printStackTrace();
}
}else{ // oracle db2
}
}catch(Exception e){
e.printStackTrace();
}
//System.out.println(result);
return result;
}
を呼び出します。