วิธีการใช้งาน และประโยชน์ที่ได้รับจากการที่เราใช้ความสามารถของ CASCADE UPDATE ซึ่งจะมีประโยชน์ในกรณีที่มีการแก้ไข PK ในตารางหลักแล้วให้มีการปรับปรุงไปยัง FK ในตารางลูกๆทีมีการทำ CONSTRAINT เอาไว้นะครับ ดัง ตย. ต่อไปนี้นะครับ
สร้างตาราง แม่ ก่อน
CREATE TABLE Parent1
(
ParentId INT NOT NULL PRIMARY KEY,
ParentName VARCHAR(100)
)
GO
สร้างตาราง ลูก
CREATE TABLE Child1
(
ChildId INT IDENTITY PRIMARY KEY,
ParentId INT REFERENCES Parent1(ParentId) ON UPDATE CASCADE
)
GO
ทำการเพิ่มข้อมูลลงไปในตารางแม่
INSERT INTO Parent1(ParentId, ParentName)
SELECT 1, 'A'
UNION ALL
SELECT 2, 'B'
GO
ทำการเพิ่มข้อมูลลงไปในตารางลูก
INSERT INTO Child1(ParentId)
SELECT 1
UNION ALL
SELECT 2
GO
เรียกข้อมูลมาแสดงผลครั้งที่ 1
SELECT *
FROM Parent1
GO
SELECT *
FROM Child1
GO
สั่งแก้ไขตารางแม่ที่ฟิลด์ PK
UPDATE Parent1
SET ParentId=3
WHERE ParentId=2
GO
ลองแสดงผลอีกครั้งที่ 2
SELECT *
FROM Parent1
GO
SELECT *
FROM Child1
GO
ลบตารางที่มาทดสอบ
DROP TABLE Child1
DROP TABLE Parent1
GO