程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> 斷定數據庫表能否存在和修正表名的辦法

斷定數據庫表能否存在和修正表名的辦法

編輯:MSSQL

斷定數據庫表能否存在和修正表名的辦法。本站提示廣大學習愛好者:(斷定數據庫表能否存在和修正表名的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是斷定數據庫表能否存在和修正表名的辦法正文


1、斷定數據庫表能否存在:
起首要拿到數據庫銜接conn,挪用DatabaseMetaData dbmd = conn.getDataMeta();以後挪用以下辦法:

/**
* 依據表名,斷定數據庫表能否存在
* @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;
}

2、修正表名:
起首仍然要拿到數據庫銜接conn和數據庫描寫對象dbmd和Statement對象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;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved