Scenarie:
I tidligere indlæg lærer vi, at hvis vi har Foreign Key Constraint med standardindstilling, og vi forsøger at opdatere værdien i kolonnen i referencetabel, som bruges som referencekolonne i Foreign Key Constraint, får vi fejl. Vi diskuterede flere måder at håndtere situationen på. Tjek venligst dette link.Foreign Key Constraint giver mulighed for at indstille Cascading-handlingen, vi kan oprette Foreign Key Constraint med Cascading Update.
Hvis Update Cascading-indstillinger bruges, når vi opdaterer værdien i Referencetabel , vil den også opdatere værdien i kolonnen overordnet tabel (Foreign Key Table).
Lad os teste dette scenarie. Opret to tabeller dbo.Customer og dbo.Orders with Foreign Key Relationship by given script
USE YourDatabaseName
GO
CREATE TABLE dbo.Customer (
Customerid INT PRIMARY KEY
,FName VARCHAR(100)
,LName VARCHAR(100)
,SSN VARCHAR(10)
)
CREATE TABLE dbo.Orders (
OrderId INT Identity(1, 1)
,OrderitemName VARCHAR(50)
,OrderItemAmt INT
,Customer_id INT FOREIGN KEY REFERENCES
Customer(CustomerId) ON UPDATE CASCADE
)
--insert sample data
insert into dbo.Customer
(CustomerId,FName, LName,SSN)
values
(1,'Aamir','Shahzad','000-000-00')
insert into dbo.Orders
(OrderItemName,OrderItemAmt,Customer_Id)
values ('TV',1,1) Lad os tjekke dataene i tabeller ved at bruge select query
![]() |
| Sådan opretter du fremmednøglebegrænsning med Update Cascade i SQL Server |
Lad os køre vores opdateringserklæring på CustomerId i dbo.Customer table og se, om den også opdaterer kolonneværdien i dbo.Orders for Customer_id.
update dbo.Customer
set Customerid=100 Lad os tjekke dataene igen i vores tabeller
![]() |
| Sådan aktiverer du opdateringskaskade med fremmednøglebegrænsning i SQL Server |
Som vi kan se, er værdien også opdateret i kolonnen dbo.Orders.Customer_id.
Videodemo:Sådan opretter du en fremmednøglebegrænsning med ON UPDATE CASCADE i SQL Server

