Oracle Relation CasCade On Delete/On Update (Foreign) |
Oracle Relation CasCade On Delete/On Update (Foreign) เป็นการสร้างและเชื่อมความสัมพันธ์ของตารางที่มีความเชื่อมโยงกัน โดยสามารถกำหนด PK และ FK การกำหนด Key FOREIGN นั้นจะมีประโยชน์มาก ๆ เพราะจะช่วยตรวจสอบความถูกต้องของข้อมูลที่มีความสัมพันธ์เชื่อมโยงกัน ป้องกันข้อมูลขยะที่ลงเหลือจากการลบข้อมูล รวมทั้งกำหนด Event CasCade ของ Relation Table ได้
Oracle Create User & Grant
เปิด Table ที่ต้องการสร้างความสัมพันธ์ ในที่นี้ผมต้องการให้ข้อมูลในตาราง audit_log ถูกลบเมื่อข้อมูลหลักของลูกค้าในตาราง customer มีการลบข้อมูลของลูกค้าคนนั้น ๆ
Syntax
CREATE TABLE customer
(
CustomerID varchar2(4),
Name varchar2(50),
Email varchar2(50),
CountryCode varchar2(3),
Budget number,
Used number,
CONSTRAINT PK_CustomerID PRIMARY KEY (CustomerID)
);
CREATE TABLE audit_log
(
AuditID varchar2(4),
CustomerID varchar2(4),
Date_Log date,
Used number,
CONSTRAINT PK_AuditID PRIMARY KEY (AuditID),
CONSTRAINT FK_CustomerID
FOREIGN KEY (CustomerID)
REFERENCES customer(CustomerID)
);
คลิกขวาที่ Table เลือก Edit
ผมได้ทำการเพิ่ม Key ชื่อ FK_CASCADE ชนิดเป็น Foreign และฟิวด์ CustomerID สัมพันธ์กับตาราง customer ฟิวด์ CustomerID และมีเงื่อนไขแบบ On Delete (CasCade)
|