0
有沒有一種方法可以將列默認爲其他列的計算? SSMS給我一個錯誤(SQL Server 2012)列名稱不能用於設置列的默認約束的上下文中。如果這是不被允許的,是否有基於表達式/子句執行(或其他)的解釋來解釋爲什麼不允許這樣做?這是特定於SQL Server,還是適用於其他DBMS?使用列進行默認約束計算 - SQL Server 2012
對於這個問題,讓我們假設將計算值存儲在表中而不僅僅是計算ad hoc是有意義的。我意識到這是DB設計中的考慮因素。
明顯的解決方法是將計算包括在INSERT子句中,但是這會分隔有關列的信息。在我看來,這將是一個更有效的表格相關質量聚集,以保持在桌子上。
〜布魯斯
謝謝,@凱瑟琳。我執行了這個操作,我看到它是如何工作的,而不是創建一個Default/Binding約束,而是通過就地計算作爲declare語句的參數。這並不是我想要的,因爲即使我將INSERT的最後SELECT子句用於目標表,表本身仍然沒有目標約束本身。 INSERT的其他方法不一定會保持這個約束不變。 感謝您的想法,但。 :) – 2014-09-06 00:47:10