2016-07-28 4 views
0

В предыдущих версиях базы данных Progress (9.X, 10.X) нижеприведенный запрос отлично работает, чтобы найти основной индекс таблицы.запрос для поиска первичного индекса для таблицы прогресса (openegde V11.6)

select "_index-name" 
    from PUB."_index" in, PUB."_file" fi 
    where fi."_file-name"='tableName' 
    and in."rowid" = 
    (select"_file"."_prime-index" 
    from PUB."_file" fs 
    where fs."_file-name"='tableName'); 

Теперь RowId был удален на ходе v11.6, Есть ли SQL-запрос для выборки первичного индекса таблицы базы данных прогресса через ojdbc?

+2

Возможно, у вашей таблицы нет первичного индекса? –

ответ

4

Это также работает в 11.6. См. Следующий запрос:

select "_index-name" from PUB."_index" idx, PUB."_file" fi where fi."_file-name"='Customer' and idx.rowid =(select"_file"."_prime-index" from PUB."_file" fs where fs."_file-name"='Customer'); 

_Index-Name 
-------------------------------- 
CustNum 
+0

Спасибо @Austin. я изменился. «rowid» для in.rowid, и он работал нормально. – Vel

+0

С реализацией разбиения таблиц в OpenEdge 11.4: http://knowledgebase.progress.com/articles/Article/P58968 Как изменить приведенный выше запрос, чтобы детализировать данные разделов с ROWID? – Vel

 Смежные вопросы

  • Нет связанных вопросов^_^