я использовал oracle 11g и пытался создать пространственную базу данных, я просто скопировал пример кода из документ Oracle, но когда дело доходит до обновления части метаданных, он выдает ошибку дублирования записи, и я попробовал delete from user_sdo_geom_metadata
, и он не дал никакой ошибки, а затем снова попытался вставить, все еще получил ошибку дублирования записи. Я также пробовал select * from user_sdo_geom_metadata
, но ничего не получил. у кого-нибудь есть идеи, почему? спасибо
Пример кода:
CREATE TABLE cola_markets (
mkt_id NUMBER PRIMARY KEY,
name VARCHAR2(32),
shape SDO_GEOMETRY);
INSERT INTO cola_markets VALUES(
1,
'cola_a',
SDO_GEOMETRY(
2003, -- two-dimensional polygon
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,1003,3), -- one rectangle (1003 = exterior)
SDO_ORDINATE_ARRAY(1,1, 5,7) -- only 2 points needed to
-- define rectangle (lower left and upper right) with
-- Cartesian-coordinate data
));
INSERT INTO user_sdo_geom_metadata
(TABLE_NAME,
COLUMN_NAME,
DIMINFO,
SRID)
VALUES (
'cola_markets',
'shape',
SDO_DIM_ARRAY( -- 20X20 grid
SDO_DIM_ELEMENT('X', 0, 20, 0.005),
SDO_DIM_ELEMENT('Y', 0, 20, 0.005)
),
NULL -- SRID
);
причина ошибки: в представлении user_sdo_geom_metadata есть повторяющиеся записи для пары значений таблицы и столбца give.