首页 > 技术文章 > 如何判断数据中某张表是否存在

kings-9 2017-10-05 15:22 原文

如何判断数据中某张表是否存在,如果不存在则创建它?

最笨的方法就是写个select从表中读数据,捕获异常的同时就知道了改表没有创建。

此法不通,因为这个时候的异常似乎被认定为了系统错误,于是后面创建表的代码被忽略了。

大部分人的做法类似于select system.table where tabblename='***',反正我曾经用类似的句子查询过DB2,是成功的。

是不是每类数据库都有上面的查询语句呢?是否查询语句相似呢?正当我打算放弃的时候发现了下面的代码,这段代码是我从一个国外的论坛中找到的,尽管我不知道它是不是万能钥匙,但是他这次对我而言确成了万能的:

    java.sql.Connection con = getYourConnection();  
         
    ResultSet rs = con.getMetaData().getTables(null, null, "yourTable", null);  
    if (rs.next()) {  
    //yourTable exist  
    }else {  
    //yourTable not exist  
    }  

select count(*) from User_Tab_Columns where  table_name='T_E_KMCJB' and column_name='JCBZ1';

(检查某表中是否存在某个字段,注意大写。)

select count(*) from all_tables where table_name='TD_KMDM';

(检查某数据库内,是否存在某张表,注意大写。)

 

注:参考链接:http://blog.csdn.net/believejava/article/details/38587879

推荐阅读