Sql-Server
使用軟刪除保留外鍵約束
我有一個產品表,它是產品成分錶的外鍵。
有沒有辦法在製作之前檢查它是否被 fk 引用
isdeleted = true
而不手動查詢它?
您可以要求
UPDATE
引用一個子查詢,如果引用存在,該子查詢將不返回任何結果。然後,如果更新了 0 行,您可以向 UI 發出消息以報告錯誤。
簡短的回答是否定的——程式碼必須寫在某處。約束(使用 UDF)或觸發器可以防止這種情況。
根據我的經驗,通常會進行軟刪除以將對象的所有屬性和相關位保留在數據庫中。
要求物理刪除相關位似乎違背了目的 - 但沒有人知道您的系統及其設計。