Я пытаюсь создать таблицу под 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
Вычисляемый столбец BufferedGeometry в
таблица «Тест» не может быть сохранена
потому что тип столбца, «геометрия»,
тип CLR без упорядочивания байтов.
У меня есть поиск BOL и в Интернете, и я не могу найти решение своей проблемы. Я действительно хотел бы, чтобы это было сохранено, чтобы я мог индексировать это эффективно. Я мог бы установить это в коде, но тогда у меня есть возможность противоречивых данных, поскольку мне требуются оба значения в некоторый момент времени.
Кто-нибудь играл с этим и знает решение или обходной путь?
Обновление: Microsoft добавила эту функцию в SQL Server 2012.