5
我在使用oracle 11g並嘗試創建空間數據庫,我剛從oracle document 中複製了示例代碼,但是當涉及到更新元數據部分時,它給了一個重複的輸入錯誤,我試圖delete from user_sdo_geom_metadata
,它沒有給出任何錯誤,然後試圖再次插入,仍然有重複的輸入錯誤。我也試過select * from user_sdo_geom_metadata
,但什麼也沒得到。 任何人有想法爲什麼?感謝在oracle中創建空間數據庫時無法更新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視圖中得到表和列值對重複條目。
SELECT結果什麼都沒有,0行中選擇,和刪除也顯示出0刪除的行,但是當我試圖再次插入它時,會出現重複錯誤: – user2810081 2014-11-05 01:18:16
*原因:在USER_SDO_GEOM_METADATA視圖中,給定表格和列值爲 的值對有重複條目。 *操作:檢查指定的表格和幾何列名稱 是否正確。在USER_SDO_GEOM_METADATA視圖中,每個表只能有一個條目,幾何形狀爲 列對。 – user2810081 2014-11-05 01:18:35
我發現了這個問題,在用戶「MDSYS」中有一個表SDO_GEOM_METADATA和一個視圖USER_SDO_GEOM_METADATA,我的理解是當我插入USER_SDO_GEOM_METADATA時,數據應該存儲在視圖中,但在我的情況下,數據存儲在該表,而不是視圖,我不知道爲什麼 – user2810081 2014-11-05 01:51:07