程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據庫數據對象分析(上)--(2)

Oracle數據庫數據對象分析(上)--(2)

編輯:Oracle數據庫基礎
刪除表和更改表名

  刪除表非常簡單,但它是一個不可逆轉的行為。

  語法:

DROP TABLE [schema.] table_name [CASCADE CONSTRAINTS]  
  刪除表後,表上的索引、觸發器、權限、完整性約束也同時刪除。ORACLE不能刪除視圖,或其他程序單元,但Oracle將標示他們無效。如果刪除的表涉及引用主鍵或唯一關鍵字的完整性約束時,那麼DROP TABLE語句就必須包含CASCADE CONSTRAINTS子串。

  更改表名

  RENAME命令用於給表和其他數據庫對象改名。ORACLE系統自動將基於舊表的完整性約束、索引、權限轉移到新表中。Oracle同時使所有基於舊表的數據庫對象,比如視圖、程序、函數等,為不合法。

  語法:

RENAME old_name TO new_name;
  例:

SQL> RENAME orders TO purchase_orders;

TABLE RENAMED

  截短表

  TRUNCATE命令與DROP命令相似, 但他不是刪除整個數據表,所以索引、完整性約束、觸發器、權限等都不會被刪除。缺省情況下將釋放部分表和視圖空間,如果用戶不希望釋放表空間,TRUNCATE語句中要包含REUSE STORAGE子串。TRUNCATE命令語法如下:

TRUNCATE {TABLE|CLUSTER} [schema.] name {DROP|REUSE STORAGE}
  例:

SQL> TRUNCATE TABLE t1;

TABLE truncate.
  管理視圖

  視圖是一個或多個表中的數據的簡化描述,用戶可以將視圖看成一個存儲查詢(stored query)或一個虛擬表(virtual table).查詢僅僅存儲在Oracle數據字典中,實際的數據沒有存放在任何其它地方,所以建立視圖不用消耗其他的空間。視圖也可以隱藏復雜查詢,比如多表查詢,但用戶只能看見視圖。視圖可以有與他所基於表的列名不同的列名。用戶可以建立限制其他用戶訪問的視圖。

  建立視圖

  CREATE VIEW命令創建視圖,定義視圖的查詢可以建立在一個或多個表,或其他視圖上。查詢不能有FOR UPDATE子串,在早期的Oracle8i版本中不支持ORDER BY子串,現在的版本中CREATE VIEW可以擁有ORDER BY子串。

  例:

SQL> CREATE VIEW TOP_EMP AS
SELECT empno EMPLOYEE_ID,ename EMPLOYEE_NAME,salary
FROM emp
WHERE salary >2000
  用戶可以在創建視圖的同時更改列名,方法是在視圖名後立即加上要命名的列名。重新定義視圖需要包含OR REPLACE子串。

SQL> CREATE VIEW TOP_EMP
(EMPLOYEE_ID,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved