1
我有一張表,我想添加計算列(每個用戶的值不同 - 權限需要)。
問題是此表是Microsoft Dynamics NAV的一部分,它不知道計算列的任何內容。
我已經管理如何作弊NAV,以便在NAV創建它之後更改列類型,並且我可以讀取數據。
現在我卡在插入。
NAV不使用可爲空的列,因此它總是嘗試插入默認值,並且SQL Server在計算列上失敗並出現錯誤。
我試着寫INSTEAD OF INSERT觸發器,但似乎SQL Server在運行觸發器之前正在執行檢查,但仍然失敗並顯示錯誤。
如何強制sql server忽略插入計算列而不是拋出錯誤?
有沒有辦法強制SQL Server忽略計算列上的插入值?
首先你說不要改變,那麼你說創建視圖 - 但你可能不知道重新綁定某種形式來查看意味着對其他開發人員/顧問的更大的變化和混亂。此外,我還沒有管理如何實現良好的性能與意見 - 不知何故,他們在NAV連接形式時要慢得多。 所以現在我的選擇不是我的選擇:-( – SeeR
「改變」我的意思是在表中添加一列,這是您的原始想法。修改由另一個應用程序管理的表的結構是有風險的,原因很明顯,這就是爲什麼我建議添加視圖,這將是全新的對象,因此更安全;將它們放入第二個數據庫並使用3部分命名(從NAV.dbo.SomeTable中選擇「foo」)意味着您不必觸摸NAV數據庫。 – Pondlife