Oracle——判斷對象是否存在(未完工)

來源:互聯網
上載者:User

標籤:des   style   使用   ar   sp   art   on   代碼   ef   

一、系統資料表:

1、User_Tables:儲存使用者下的所有表的資訊;

2、dba_tables:儲存管理員權限下的所有表的資訊;

3、all_tables:儲存所有表的資訊。

二、判斷對象是否存在

1、判斷表

我們只能通過使用select count(*) 的方式判斷當前表是否存在,返回1則代表存在,0則代表不存在,例如:
SELECT COUNT(*) FROM User_Tables WHERE table_name = ‘CODE_BMDM‘;(在SQL中使用這種方法亦可)
需要注意的是:表名(或者其他對象名)必須全部大寫,有特殊字元的除外(表名之間有空格等特殊字元),否則查詢不到。其中的 User_Tables(使用者下的所有表) 也可以換成dba_tables(管理員權限下的所有表) 或者all_tables(所有表)

 

 

 

  1. declare  
  2.  v_exists number;  
  3. begin  
  4.        --1、任務類型 TASK_TYPE_CD 建表...  
  5.     select count(*) into v_exists from user_tables where table_name = ‘EDW_T99_TASK_TYPE_CD‘;  
  6.     if v_exists > 0 then  
  7.     execute immediate ‘drop table EDW_T99_TASK_TYPE_CD‘;  
  8.     end if;  
  9.     execute immediate ‘  
  10.     create table EDW_T99_TASK_TYPE_CD  
  11.     (  
  12.       CODE_CD   VARCHAR2(20) PRIMARY KEY,  
  13.       CODE_DESC VARCHAR2(100)  
  14.     )‘;  
  15.     execute immediate ‘comment on table EDW_T99_TASK_TYPE_CD is ‘‘任務類型‘‘‘;  
  16.     execute immediate ‘comment on column EDW_T99_TASK_TYPE_CD.CODE_CD is ‘‘代碼‘‘‘;  
  17.     execute immediate ‘comment on column EDW_T99_TASK_TYPE_CD.CODE_DESC is ‘‘代碼描述‘‘‘;  
  18.   
  19.        --2、買入產品代碼 BUY_TYPE_CD 建表...  
  20.     select count(*) into v_exists from user_tables where table_name = ‘EDW_T99_BUY_TYPE_CD‘;  
  21.     if v_exists > 0 then  
  22.     execute immediate ‘drop table EDW_T99_BUY_TYPE_CD‘;  
  23.     end if;  
  24.     execute immediate ‘  
  25.     create table EDW_T99_BUY_TYPE_CD  
  26.     (  
  27.       CODE_CD   VARCHAR2(20) PRIMARY KEY,  
  28.       CODE_DESC VARCHAR2(100)  
  29.     )‘;  
  30.     execute immediate ‘comment on table EDW_T99_BUY_TYPE_CD is ‘‘買入產品代碼‘‘‘;  
  31.     execute immediate ‘comment on column EDW_T99_BUY_TYPE_CD.CODE_CD is ‘‘代碼‘‘‘;  
  32.     execute immediate ‘comment on column EDW_T99_BUY_TYPE_CD.CODE_DESC is ‘‘代碼描述‘‘‘;  
  33.          
  34. end;  
  35. /  

 

Oracle——判斷對象是否存在(未完工)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.