-- 建立資料表
CREATE TABLE table_name(
column1 NUMBER,
column2 CHAR,
column3 VARCHAR2,
column4 DATE,
-- 主鍵(PRIMARY KEY)
CONSTRAINT pk_table_name PRIMARY KEY(column1,column2),
-- 唯一鍵(UNIQUE KEY)
CONSTRAINT unique_table_name UNIQUE(column1,column2),
-- 外來鍵(FOREIGN KEY)
CONSTRAINT fk_table_name_column1
FOREIGN KEY(column1, column2)
REFERENCES parent_table(column1, column2)
[ON DELETE [CASCADE|SET NULL]]
-- 當參考鍵刪除時,相對應做的處理:
-- 預設 UPDATE No Action & DELETE No Action
-- ON DELETE CASCADE: 刪除參考鍵時連同刪除
-- ON DELETE SET NULL: 刪除參考鍵時將外鍵設為 NULL
);
-- 為資料表標示註釋
COMMENT ON TABLE table_name IS '資料表註釋';
-- 為資料欄位標示註釋
COMMENT ON COLUMN table_name.column1 IS '資料欄位註釋';
-- 附加主鍵(PRIMARY KEY)
ALTER TABLE table_name
ADD CONSTRAINT pk_table_name PRIMARY KEY(column1,column2);
-- 附加唯一鍵(UNIQUE KEY)
ALTER TABLE table_name
ADD CONSTRAINT unique_table_name UNIQUE(column1,column2);
-- 附加外來鍵(FOREIGN KEY)
ALTER TABLE table_name
ADD CONSTRAINT fk_table_name_column1
FOREIGN KEY(column1, column2)
REFERENCES parent_table(column1, column2)
[ON DELETE [CASCADE|SET NULL]];
-- 建立索引(Index)
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 回應:
張貼留言