Uso Firebird 1.53, estoy empezando a llevar un control de versiones de mis Bases de Datos, es decir, si se realiza algún cambio en la Estructura de estos, voy añadiendo los Script's a 1 archivo de texto para Ejectutarlos en Otras Sucursales donde también vayan a ocupar dicha Modificación, pero tengo el siguiente Problema, ejecuto los Script's dentro del Script EXECUTE del IBEXPERT en la primer línea Ejecuto un Store Procedure para comparar de que Sistema se Trata, la Versión y la Fecha de Versión si la Versión ó la Fecha de Versión es Diferente con la que tiene actualmente la Base de datos se lanza una excepción pero el problema es que se continua con las demás Instrucciones del archivo y es lo que no quiero, pongo un ejemplo del contenido del archivo de texto:
Código SQL
[-]
EXECUTE PROCEDURE REVISA_VERSION('FAC',1.010,'20.04.2006') ;
Update TSISTEMAS set Version = 1.010,Fec_Ver='02.05.2006' where Clave='FAC' ;
ALTER TABLE TCOMPUTADORAS
ADD CVEUSUARIO ENTERO_N ;
El Contenido del Procedimiento Almacenado es:
Código SQL
[-]
CREATE PROCEDURE REVISA_VERSION(
SISTEMA VARCHAR(3),
VERSION_SIS FLOAT,
FECHA_VERSION DATE)
RETURNS (
ERROR SMALLINT)
AS
DECLARE VARIABLE XVERSION FLOAT;
DECLARE VARIABLE XFEC_VER DATE;
begin
Select Version,Fec_Ver from tsistemas
where
Clave = : Sistema
into
:xVersion ,:xFec_Ver;
if (:xVersion <> :Version_Sis or :xFec_Ver <> :Fecha_Version) then
Exception EX_VERSION_DIFERENTE;
end
Como ven la excepción se lanza y me la muestra pero que tengo que hacer para que se detenga????
Tendré que hacer una aplicación en delphi para cachar dicha Excepción????
Agradezco cualquier sugerencia.