1. 程式人生 > >Oracle判斷某個表是否存在的方法

Oracle判斷某個表是否存在的方法

轉自:http://sillyge.blog.163.com/blog/static/1769642082011099392745/

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(所有表)