El comando INSERT (sin el INTO nombre:tabla, con clausulas adicionales BEFORE y BLANK), permite insertar un registro fisicamente a continuación del registro actual de la tabla del area donde estas ubicado (lo inserta antes del actual si usas BEFORE).
Esto implica que para hacer dicha operación, por la índole del archivo fisico de VFP (archivo plano, secuencial con registros de longitud fija) que todos los registros posteriores al punto de inserción deban ser copiados al registro siguiente (empezando de atras para adelante).
Eso implica:
a) tener la tabla con uso exclusivo.
b) si la inserción es en una tabla de digamos 10000 registros, implica copiar en promedio 5000 registros.
c) por cada indice que la tabla cuente (los estructurales) implica reescribirlos por cada registro que se copia, mas el que se inserta, tener en cuenta que los estructurales se actualizan si o si aunque no esten expresamente activos, esos se abren "SOLOS".
d) Todos los indices no estructurales quedan "desfazados" por lo que tienen que reindexarse antes de usarse.
e) Ya en la version 2 de foxpro para dos, era considerada una instrucción "para compatibilidad descendente".
f) es mucho mas eficiente, tomar la tabla original, copiarla en otra "temporal", en la temporal, insertar el nuevo registro, copiar el resto de la tabla original, recrear todos los indices en la tabla temporal, tomar uso exclusivo de la tabla original, cerrarla, renombrarla, renombrar la tabla temporal como la original.
g) uso xbase desde dbase II, creo que ni en dbase II use el comando INSERT propio de los xbase.
Saludos: Miguel