首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 表與視圖管理入門:建立、命名、從查詢建表

     編輯:Oracle 資料庫相關知識

建立基本表

CREATE TABLE products (
  prod_id    NUMBER(4),
  prod_name  VARCHAR2(20),
  stock_qty  NUMBER(5,3)
);
  • 同時可定義欄位層級/表層級完整性約束(NOT NULL、PRIMARY KEY 等)。
  • 可指定 DEFAULT 值,插入時為 NULL 則自動帶入。

常用資料字典視圖

視圖前綴範圍典型視圖
USER_當前使用者擁有USER_TABLES, USER_TAB_COLUMNS
ALL_當前使用者可存取ALL_TABLES, ALL_TAB_COLUMNS
DBA_全資料庫 (需 DBA 權限)DBA_TABLES, DBA_TAB_COLUMNS

命名規範

  • 最長 30 字元,首字母為英文,可含數字、底線、#、$。
  • 建議採用有業務意義的名稱,如 ORDERS_HEADER、CUST_ADDR_DTL。

從查詢建立表 (CTAS)

CREATE TABLE emp_copy AS SELECT * FROM employees;
CREATE TABLE dept_10 AS SELECT * FROM departments WHERE dept_id = 10;

限制:查詢涉及 LONG 型別時 CTAS 會失效;新表不會自動複製索引、約束、觸發器、權限,需手動補建。

視圖基礎

CREATE VIEW v_emp_dept AS
SELECT e.emp_id, e.emp_name, d.dept_name
FROM employees e JOIN departments d ON e.dept_id = d.dept_id;
  • 視圖為儲存的查詢,不佔儲存空間(Materialized View 除外)。
  • 簡化複雜聯結、隱藏敏感欄位、提供安全介面。
  • 可更新視圖需符合關鍵保留表條件(單一基表、含主鍵、無聚合/群組/集合運算)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved