Supongo que tienes que trabajar con transacciones.
Abres una transaccion, haces el select y luego haces commit.
No se como será con Zeos, pero supongo que no será complicado.
He visto este código
aqui:
Código Delphi
[-]
With spDeleteByName do Begin
ParamByName ('Name').Value := 'DontKnowHow';
conConnection.StartTransaction
Try
ExecProc;
Except
conConnection.Rollback;
End;
conConnection.Commit;
End;