在OB-Oracle数据库中,有时候索引查询的出来的数量与Oracle不一致,可通过修改查询模板的方式来处理:

修改为:
SELECT i.owner AS schema_name,
i.table_name AS TBL_DEF_KEY,
ic.column_name AS COL_DEF_KEY,
co.data_default AS VIRTUAL_COL_DEF_KEY,
i.index_name AS DEF_KEY,
CASE
WHEN i.uniqueness = 'UNIQUE' THEN 'UNIQUE'
ELSE 'NORMAL'
END AS TYPE,
CASE
WHEN ic.descend = 'DESC' THEN 'DESC'
ELSE 'ASC'
END AS SORT_TYPE,
ic.column_position AS ORDER_VALUE,
NULL AS INTRO
FROM all_indexes i
LEFT JOIN all_ind_columns ic
ON i.owner = ic.index_owner
AND i.index_name = ic.index_name
AND i.table_name = ic.table_name
LEFT JOIN all_tab_cols co
ON co.owner = i.owner
AND co.table_name = i.table_name
AND co.column_name = ic.column_name
LEFT JOIN all_constraints pk
ON pk.owner = i.owner
AND pk.table_name = i.table_name
AND pk.index_name = i.index_name
AND pk.constraint_type = 'P'
WHERE i.owner IN (:schemaName)
AND CONCAT(CONCAT(i.owner, '.'), i.table_name) IN (:sysTableNames)
AND pk.constraint_name IS NULL
ORDER BY i.owner, i.table_name, i.index_name, ic.column_position;