Hola, suena como que hay indices que estan corruptos. Lo mejor es armar esa tabla desde cero nuevamente.
Fijate si podes hacer :
1- desde CMD ejecuta un dbschema -d bdmedicina -t sga_equiv_otorgada sga_equiv_otorgada.sql. Asegurate que el archivo sga_equiv_otorgada.sql tenga todo el DDL de la tabla.
2- En dbaccess ejecuta un UNLOAD de la tabla bdmedicina:sga_equiv_otorgada a un archivo plano,
3- Verifica que la cantidad de lineas en el archivo plano (wc -l), sea igual a la cantidad de filas de la tabla (select count(*) from tabla)
4- Luego desde dbaccess habria que crear esa tabla con otro nombre (modificando el nombre de la tabla en el archivo sga_equiv_otorgada.sql )
5- Cargarle los datos desde el archivo generado en 2) con LOAD
6- Por ultimo si la carga de datos anduvo OK, renombra la tabla original a sga_equiv_otorgada_old y renombra la nueva tabla a sga_equiv_otorgada
Si el script de Update statistics ignora la tabla sga_equiv_otorgada_old, todo deberia andar OK
Si el script de Update statistics tambien quiere correr upd stat para la tabla sga_equiv_otorgada_old, vas a tener que borrar la tabla sga_equiv_otorgada_old
Si renombro la tabla sga_equiv_otorgada a sga_equiv_otorgada_old que pasa con las referencias de otras tablas? pasan a referenciar a sga_equiv_otorg_old?
Luego cuando renombre la tabla que llene con el LOAD a sga_equiv_otorgada nadie la va a referenciar por que todas las tablas van a referenciar a sga_equiv_otorgada_old.
Creo que va a pasar eso o me equivoco, o no entendi bien el paso 6
Hola Gustavo, Estamos sincronizados, porque justo anoche me estaba acordando de esto mismo, y no recordaba si te habia mencionado lo de acomodar las FK o no. Efectivamente, al renombrar la tabla todas las FKS van a seguir apuntando a la tabla vieja, y deberias recrearlas nuevamente apuntando a la nueva tabla.
Igualmente Mientras no haya modificaciones a los datos, los indices asociados a las FK, van a seguir usandose inclusive si hay queries entre la tabla nueva y las que tienen las referencias.