如何检查java中是否存在视图?

时间:2015-12-22 13:02:23

标签: java sql

DatabaseMetaData dbm = connection.getMetaData(); // connection is of type Connection (in JDBC)  
ResultSet tables = dbm.getTables(null, null, "table name", null); // check if table is there
if (tables.next()) {
    //Table exists
} else {
    //Table does not exist
}

我的问题是如何检查视图是否存在。上面的代码是如何检查表是否存在。我知道它与上面的代码类似,但我遇到了麻烦。

2 个答案:

答案 0 :(得分:4)

getTables()方法可以返回所有类型的表(视图被视为表的一种类型)。最后一个参数可用于搜索特定类型。

在您的情况下,您可以使用dbm.getTables(null, null, "viewname", new String[]{"VIEW"});javadocs很好地解释了这一点,所以在你问这里之前你应该阅读它们。

答案 1 :(得分:0)

我的问题是表名是用java代码编写的,带有驼峰的情况,这在检查表是否存在时会引起问题 - 但它在删除和创建时工作得很好。所以我所做的只是

ResultSet tables = dbm.getTables(null, null, "table name".toLowerCase(), null);