Подтвердить что ты не робот

Как сохранить расчетную колонку ГЕОМЕТРИЯ или ГЕОГРАФИЯ

Я пытаюсь создать таблицу под SQL Server 2008, содержащую столбец GEOMETRY и его расчетное изменение.

Учитывая следующую таблицу, в которой вычисляемый столбец возвращает буферную геометрию:

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

Проблема с этим приводит к следующей ошибке:

Msg 4994, уровень 16, состояние 1, строка 2 Вычисленный столбец "Буферизованная геометрия" в таблица "Тест" не может сохраняться потому что тип столбца, "геометрия", является не-байт-упорядоченным CLR-типом.

У меня есть поиск в BOL и в Интернете, и я не могу найти решение моей проблемы. Я действительно хотел бы, чтобы это продолжалось, чтобы я мог эффективно его индексировать. Я мог бы установить его в коде, но тогда у меня есть возможность несогласованных данных, поскольку мне требуются оба значения в некоторый момент времени.

Кто-нибудь играл с этим и знал решение или обходное решение?

Обновление: Microsoft добавила эту функциональность в SQL Server 2012.

4b9b3361

Ответ 1

Я думаю, вы могли бы использовать триггер для его вычисления и сохранить его в поле [BufferedGeometry]

Ответ 2

У кого еще такая проблема: SQL Server 2012 теперь позволяет ей