有誰知道是否有更快的方式來編輯表中有外鍵的記錄(在sql server中)..我會解釋..我有大約5個表有自己的ID,但使用外鍵...更改具有外鍵的表(sql server)中的記錄?
因此我需要改變的外鍵(在我的情況下,合同號),但我不得不給每個記錄複製到一個新的記錄和編輯它這樣...
由於如果我嘗試編輯合同編號,它會給我提供相關聯的標準錯誤,並且違反了外鍵等。
Surly必須有更好的方法嗎?
任何想法?
有誰知道是否有更快的方式來編輯表中有外鍵的記錄(在sql server中)..我會解釋..我有大約5個表有自己的ID,但使用外鍵...更改具有外鍵的表(sql server)中的記錄?
因此我需要改變的外鍵(在我的情況下,合同號),但我不得不給每個記錄複製到一個新的記錄和編輯它這樣...
由於如果我嘗試編輯合同編號,它會給我提供相關聯的標準錯誤,並且違反了外鍵等。
Surly必須有更好的方法嗎?
任何想法?
你是在談論改變PK然後更新所有的FKS?在這種情況下,啓用級聯更新,這將做自動的 與刪除一樣,啓用級聯刪除
ON DELETE CASCADE
指定如果試圖刪除行與外鍵引用的關鍵在其他表中的現有行中,包含這些外鍵的所有行也被刪除。如果還在目標表上定義了級聯參考操作,則還會爲從這些表中刪除的行採用指定的級聯操作。
ON UPDATE CASCADE
指定如果試圖在一排,其中鍵值由外鍵在其他表的現有行引用更新鍵值,所有的外鍵值都也更新爲爲該密鑰指定的新值。如果級聯參考操作
我不是SQL專家,但不能像ON UPDATE CASCADE那樣設置類似於主鍵更改時自動更新外鍵的東西嗎?
或者嘗試禁用完整性約束,請執行更改並嘗試重新啓用約束。基本上,如果你沒有這樣做,你會得到一個錯誤,然後(不能啓用一個違反約束)。
感謝您的幫助,我打算使用udpate級聯,但我想我可能需要重新組織我的外鍵 – 2009-04-30 10:50:22