[SQL Server]SQL Serverの連鎖更新
SQL Server 2008
外部キー制約がついているカラムを変更したい場合は、cascadeを有効にすると、関連先のカラムも同時に変更できる。
例
ALTER TABLE bid ADD CONSTRAINT bid_user_fk FOREIGN KEY(user_code) REFERENCES user (user_code) ON UPDATE CASCADE ON DELETE NO ACTION
上記の場合、userのuser_codeを変更すると、bidのuser_codeも同時に変更される。
外部キーが複数カラムの場合であっても、問題なく更新してくれる。
この設定はSQL Server Managerment Studioからでも変更できる。
・テーブル→キー→右クリックメニューの変更→INSERTおよびUPDATEの指定→更新ルール
デフォルトでは「アクションなし」になっている。
CASCADEは「重ねて表示」という訳になっていて分かりづらい。