這是一個特定的場景。我需要實現的是:如何檢測表格是否在我的應用程序之外添加或刪除了行?
- 如果有人插入或刪除我的應用程序的UI外指定表 一行或多行,那麼就應該檢測表 被修改。
- 它應該而不是使用觸發器。
這是它不需要做的:
- 微分如果它已被刪除或插入。
- 檢測誰做了改變或其中它被改變。
- 如果用戶同時執行相同數量的插入和刪除操作。這在技術上可以算作變更,因此不需要檢測爲插入和刪除。
這是我們認爲可以做的工作: 創建將存儲看着表名稱的表,它擁有的行數和確認鍵,姑且稱之爲integrity_tbl
。插入或刪除後,更新行數和驗證密鑰。只有驗證密鑰有效時才更新行數。每次比較失敗時使驗證密鑰失效。當需要數據完整性驗證時,對錶中的行進行計數並與integrity_tbl
進行比較。
您認爲這是一個好方法,還是應該嘗試其他方法?
我們爲此使用了Delphi和Firebird。 如問,我們正在使用IBX連接到數據庫。但邏輯問題不是訪問數據庫的方式。
不知道它應該被標記爲德爾福在所有。 o.o'' – EMBarbosa
這取決於你如何計算你的integrity_tbl。 – philnext
爲什麼不使用觸發器? –