Quisiera agregar algo, ya que la sentencia anterior regresa todos los indices del tipo UNIQUE para obtener solamente los campos de la llave primaria podemos utilizar la siguiente sentencia SQL
Código SQL
[-]
select s.*
from (rdb$indices i INNER JOIN rdb$index_segments s ON (i.rdb$unique_flag=1 and i.rdb$relation_name=:tabla and s.rdb$index_name=i.rdb$index_name)) INNER JOIN rdb$relation_constraints A
ON s.rdb$index_name=a.rdb$index_name and rdb$constraint_type = 'PRIMARY KEY'