Sql 查找进度表主索引的查询(openegde V11.6)

Sql 查找进度表主索引的查询(openegde V11.6),sql,jdbc,openedge,progress-db,Sql,Jdbc,Openedge,Progress Db,在早期版本的Progress数据库(9.X,10.X)中,下面的查询可以很好地查找表的主索引 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"

在早期版本的Progress数据库(9.X,10.X)中,下面的查询可以很好地查找表的主索引

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

现在progress v11.6上的行ID已被删除,是否有任何SQL查询通过ojdbc获取进度数据库表的主索引?

这在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 

也许您的表没有主索引?谢谢@Austin。我已将“rowid”改为in.rowid,效果很好。在OpenEdge 11.4中实现了表分区后:如何更改上述查询以获得分区详细信息以与rowid进行比较?