父表
SELECT * FROM dbo.TBEMPLOYEE
2|Sohail Ashraf|1980-01-12 00:00:00.000|2013-12-05 15:40:48.303|Sen.Software Engineer|
儿童表
SELECT * FROM dbo.TBADDRESS
2|Sohail Ashraf|sohail.azfal@netsoltech.com|923334447777gulberg|Lahore|Pakistan
其中2
是父表中的emp_id
(PK)和子表中的FK
当我像这样更新父表时
UPDATE TBEMPLOYEE
set emp_nme = 'Mohammad Sohail Ashraf'
WHERE emp_id = 2
结果如下
2|Mohammad Sohail Ashraf|1980-01-12 00:00:00.000|2013-12-05 15:40:48.303|Sen.Software Engineer
但是不更新子表记录。
更新父表后的子表与上面相同。像这样的子表结果
2|Sohail Ashraf|sohail.azfal@netsoltech.com|923334447777|gulberg|Lahore|Pakistan
任何人都可以帮助我吗?
答案 0 :(得分:3)
你误解了级联意味着什么。它仅适用于外键列,而不适用于整个记录。如果更改父记录中PK字段中的值,则新值将级联到子记录中的FK字段。没有其他领域受到影响。
这引出了一个问题,为什么你首先要复制数据?如果您将名称存储在父记录中,那么为什么还要在子记录中存储该名称?它应该只在一个或另一个。如果您需要两个表中的数据,则执行连接。
答案 1 :(得分:2)
当更新父表中的主键时,级联更新会更新子表中的外键。