本文介紹了如何持久化計算幾何圖形或地理信息列的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試在SQL Server 2008下創建一個包含幾何列及其計算變體的表。
考慮下表,其中計算列返回緩沖幾何圖形:
CREATE TABLE [dbo].[Test] (
[Geometry] GEOMETRY NOT NULL,
[Buffer] FLOAT NOT NULL,
[BufferedGeometry] AS ([Geometry].STBuffer([Buffer])) PERSISTED
);
這樣做的問題是它會導致以下錯誤:
消息4994,級別16,州1,線路2
中的計算列‘BufferedGeometry’
表‘Test’不能持久化
因為列類型”幾何圖形”,
非字節排序的CLR類型。
我搜索了BOL和Web,但似乎找不到解決問題的方法。我真的希望它能夠持久存在,這樣我就可以有效地對其進行索引。我可以在代碼中設置它,但這樣可能會出現數據不一致的情況,因為我在某個時間點需要這兩個值。
有沒有人嘗試過這個問題并知道解決方案或解決辦法?
更新:Microsoft已在SQL Server 2012中添加了此功能。
推薦答案
我想您可以使用觸發器來計算它并將其存儲到[BufferedGeometry]字段
這篇關于如何持久化計算幾何圖形或地理信息列的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,