我有5个连接在一起的表:
Table A
Table B
Table C
Table D
Table E
PK
是Code
列。 PK
是Code
列。PK
是Number
列。PK
是Number
列。PK
是Name
列。上表之间的关系是下一个:
PK
在表B FK
列中有ACode
PK
在表C FK
列中有ACode
表A PK
在表E FK
列中有ACode
表B PK
在表C FK
列中有BCode
表B PK
在表E FK
列中有BCode
表C PK
在表D FK
列中有CNumber
以上部分在Microsoft SQL Server Management Studio中组织起来非常简单。现在,我想在所有FK
列的Update上创建CASCADE。例如,如果表A中的PK
得到更新,则其他列(B,C和E)中的所有其他FK
也应更新。这是值得推荐的吗?如何在SQL Server 2008中实现呢?
答案 0 :(得分:2)
这通常是在创建PK-FK关系时完成的,但是您以后应该可以这样做。参见ALTER TABLE table_constraint
在您的情况下,应该执行以下操作:
ALTER TABLE CONSTRAINT -- name of your PK constraint
PRIMARY KEY CLUSTERED|NOCLUSTERED (...) FOREIGN KEY REFERENCES ...
ON DELETE CASCADE
ON UPDATE CASCADE