Oracle Пространственная проблема PLS-306: неверный номер или типы аргументов при вызове 'SDO_GEOMETRY' - PullRequest
0 голосов
/ 01 марта 2020

Я создал таблицу:

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
  )
);

Я получил ошибку:

SQL Error: ORA-06553: PLS-306: wrong number or types of arguments in call to 'SDO_GEOMETRY'

Если я переключаюсь SDO_ELEM_INFO_ARRAY в NULL:

INSERT INTO cola_markets VALUES(
  1,
  'cola_a',
  SDO_GEOMETRY(
    2003,  -- two-dimensional polygon
    NULL,
    NULL,
    NULL, -- 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
  )
);

Я не получаю сообщение об ошибке:

1 row inserted.

В чем здесь проблема? Почему я не могу использовать SDO_ELEM_INFO_ARRAY?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...