我正在尝试在SQL Server 2008下创建一个包含GEOMETRY列及其计算变量的表.
考虑下表,计算列返回缓冲几何:
CREATE TABLE [dbo].[Test] ( [Geometry] GEOMETRY NOT NULL, [Buffer] FLOAT NOT NULL, [BufferedGeometry] AS ([Geometry].STBuffer([Buffer])) PERSISTED );
这个问题是导致以下错误:
消息4994,级别16,状态1,行2表'Test'中的计算列'BufferedGeometry'不能保留,因为列类型'geometry'是非字节顺序的CLR类型.
我有搜索BOL和网络,似乎无法找到我的问题的解决方案.我真的希望它能够持久化,以便我可以有效地对其进行索引.我可以在代码中设置它,但随后我有可能出现不一致的数据,因为我在某个时间点需要这两个值.
有人玩这个并知道解决方案或解决方法吗?
更新:Microsoft已在SQL Server 2012中添加此功能.