2010-05-15 02:12

[Oracle] 基礎 Table Schema 指令

  1. -- 建立資料表 
  2. CREATE TABLE table_name( 
  3.    column1 NUMBER, 
  4.    column2 CHAR, 
  5.    column3 VARCHAR2, 
  6.    column4 DATE, 
  7.  
  8.    -- 主鍵(PRIMARY KEY) 
  9.    CONSTRAINT pk_table_name PRIMARY KEY(column1,column2), 
  10.    -- 唯一鍵(UNIQUE KEY) 
  11.    CONSTRAINT unique_table_name UNIQUE(column1,column2), 
  12.    -- 外來鍵(FOREIGN KEY) 
  13.    CONSTRAINT fk_table_name_column1 
  14.        FOREIGN KEY(column1, column2) 
  15.        REFERENCES parent_table(column1, column2) 
  16.        [ON DELETE [CASCADE|SET NULL]] 
  17.        -- 當參考鍵刪除時,相對應做的處理: 
  18.        -- 預設 UPDATE No Action & DELETE No Action 
  19.        -- ON DELETE CASCADE: 刪除參考鍵時連同刪除 
  20.        -- ON DELETE SET NULL: 刪除參考鍵時將外鍵設為 NULL 
  21. ); 
  22.  
  23.  
  24. -- 為資料表標示註釋 
  25. COMMENT ON TABLE table_name IS '資料表註釋'; 
  26.  
  27. -- 為資料欄位標示註釋 
  28. COMMENT ON COLUMN table_name.column1 IS '資料欄位註釋'; 
  29.  
  30.  
  31. -- 附加主鍵(PRIMARY KEY) 
  32. ALTER TABLE table_name 
  33. ADD CONSTRAINT pk_table_name PRIMARY KEY(column1,column2); 
  34.  
  35.  
  36. -- 附加唯一鍵(UNIQUE KEY) 
  37. ALTER TABLE table_name 
  38. ADD CONSTRAINT unique_table_name UNIQUE(column1,column2); 
  39.  
  40.  
  41. -- 附加外來鍵(FOREIGN KEY) 
  42. ALTER TABLE table_name 
  43. ADD CONSTRAINT fk_table_name_column1 
  44.    FOREIGN KEY(column1, column2) 
  45.    REFERENCES parent_table(column1, column2) 
  46.    [ON DELETE [CASCADE|SET NULL]]; 
  47.  
  48.  
  49. -- 建立索引(Index)   
  50. CREATE [UNIQUE] INDEX idx_table_name ON table_name(column1, column2); 

最近剛剛接觸 Oracle
很多觀念一時轉不過來
雖然 SQL 都大同小異
但就是這些被這些小異搞翻掉

整體架構跟 MySQL 差蠻多
只能說 MySQL 真的很容易上手
而且社群跟文獻都很多
所以要找參考資料比較容易

參考連結:
Oracle Commands
Oracle SQL
Oracle/PLSQL Topics
Oracle 開發筆記
Oracle基本语法集锦
oracel 數據完整性

0 回應: