gpt4 book ai didi

sql-server - 如何保留计算的 GEOMETRY 或 GEOGRAPHY 列

转载 作者:行者123 更新时间:2023-12-02 10:26:39 26 4
gpt4 key购买 nike

我正在尝试在 SQL Server 2008 下创建一个表,其中包含 GEOMETRY 列及其计算变体。

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

CREATE TABLE [dbo].[Test] (
[Geometry] GEOMETRY NOT NULL,
[Buffer] FLOAT NOT NULL,
[BufferedGeometry] AS ([Geometry].STBuffer([Buffer])) PERSISTED
);

这样做的问题是它会导致以下错误:

Msg 4994, Level 16, State 1, Line 2 Computed column 'BufferedGeometry' in table 'Test' cannot be persisted because the column type, 'geometry', is a non-byte-ordered CLR type.

我搜索了 BOL 和网络,但似乎找不到解决我的问题的方法。我真的希望它能够被持久化,这样我就可以有效地对其进行索引。我可以在代码中设置它,但随后我可能会出现数据不一致的情况,因为我在某个时间点需要这两个值。

有人玩过这个并知道解决方案或解决方法吗?

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

最佳答案

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

关于sql-server - 如何保留计算的 GEOMETRY 或 GEOGRAPHY 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/230992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com