Я пытаюсь создать таблицу под 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.