Как проверить SRID моей таблицы - ORACLE - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть таблицы, но мне нужно знать, что имеет SRID. Я пытался найти в Интернете, но не могу найти как. Я начинаю с Oracle. Спасибо

Ответы [ 2 ]

2 голосов
/ 11 февраля 2020

Если в этой таблице есть столбец с типом данных SDO_GEOMETRY:

SQL> desc objekt_stup
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID_STUP                                   NOT NULL NUMBER
 GEOM                                               PUBLIC.SDO_GEOMETRY   --> that's the column!
 <snip> 

Тогда:

SQL> select s.geom.sdo_srid
  2  from objekt_stup s
  3  where rownum = 1;

GEOM.SDO_SRID
-------------
         8307

SQL>

Обратите внимание на псевдоним таблицы; без этого не получится:

SQL> select geom.sdo_srid
  2  from objekt_stup
  3  where rownum = 1;
 select geom.sdo_srid
        *
ERROR at line 1:
ORA-00904: "GEOM"."SDO_SRID": invalid identifier


SQL>
0 голосов
/ 12 февраля 2020

Ответ от Littlefoot правильный, но он покажет вам SRID только одной строки. Нет гарантии, что все строки имеют одинаковый SRID (это то, что вы должны применять).
Итак, я бы отбросил предложение "where rownum = 1" и использовал бы group by:

select s.geom.sdo_srid, count(*)  
from objekt_stup s  
group by s.geom.sdo_srid ;  
...