Помимо всего прочего, у нас есть таблица, содержащая координаты. Мы привыкли хранить их в двух числовых полях (x и y), но теперь мы заменили это полем SDO_GEOMETRY. Для обратной совместимости мы создали представление (с тем же именем, что и у таблицы), где мы делаем:
создать или заменить представление measure_pnt как
выберите ..., m.position.SDO_POINT.X x_coordinate, m.position.SDO_POINT.Y y_coordinate
из мера_пнт_таб м;
Это работает как для чтения, так и для записи, но при записи десятичных чисел в представление, десятичные дроби теряются. Я не могу понять, почему. Кто-нибудь может помочь? Следующее иллюстрирует проблему:
обновить measure_pnt_tab m set m.position.SDO_POINT.x = 2.3, где measure_key = 1;
выберите m.position.SDO_POINT.X из measure_pnt_tab m, где measure_key = 1;
-> х равен 2,3. Хорошо!
обновить набор_измерений x_coordinate = 2.3, где показатель_ключа = 1;
выберите m.position.SDO_POINT.X из measure_pnt_tab m, где measure_key = 1;
-> х равен 2.