Sql-Server

使用軟刪除保留外鍵約束

  • April 11, 2022

我有一個產品表,它是產品成分錶的外鍵。

有沒有辦法在製作之前檢查它是否被 fk 引用isdeleted = true而不手動查詢它?

您可以要求UPDATE引用一個子查詢,如果引用存在,該子查詢將不返回任何結果。然後,如果更新了 0 行,您可以向 UI 發出消息以報告錯誤。

簡短的回答是否定的——程式碼必須寫在某處。約束(使用 UDF)或觸發器可以防止這種情況。

根據我的經驗,通常會進行軟刪除以將對象的所有屬性和相關位保留在數據庫中。

要求物理刪除相關位似乎違背了目的 - 但沒有人知道您的系統及其設計。

引用自:https://dba.stackexchange.com/questions/291218