Oracle判断某个表是否存在的方法

SQL中,我们常常使用if exists来判断一个表或某个对象是否存在,例如:

         IF EXISTS (SELECT * FROM sys.tables WHERE name = 'CODE_BMDM')

如果存在,则返回true,不存在则返回false。

但是在Oracle中这种方法就行不通了,我们只能通过使用select count(*) 的方式判断当前表是否存在,返回1则代表存在,0则代表不存在,例如:

        SELECT COUNT(*) FROM User_Tables WHERE table_name = 'CODE_BMDM';(在SQL中使用这种方法亦可)

需要注意的是:表名(或者其他对象名)必须全部大写,有特殊字符的除外(表名之间有空格等特殊字符),否则查询不到。

其中的 User_Tables(用户下的所有表) 也可以换成dba_tables(管理员权限下的所有表) 或者all_tables(所有表)

posted on 2017-03-29 14:19  lpx15312  阅读(2453)  评论(0编辑  收藏  举报

导航