代码之家  ›  专栏  ›  技术社区  ›  Craig Nicholson

如何保留计算的几何图形或地理列

  •  10
  • Craig Nicholson  · 技术社区  · 18 年前

    几何学

    考虑下表,其中计算列返回缓冲几何体:

    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类型。

    有人玩过这个游戏,知道解决方案或变通方法吗?

    更新:Microsoft已在SQL Server 2012中添加此功能。

    2 回复  |  直到 14 年前
        1
  •  4
  •   DJ.    18 年前

    我想您可以使用触发器来计算它并将其存储到[BufferedGeometry]字段

        2
  •  1
  •   root    13 年前

    不管是谁仍然有这样的问题:SQL Server 2012现在允许这样做

    推荐文章