Ver Mensaje Individual
  #1  
Antiguo 02-05-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Reputación: 23
AGAG4 Va por buen camino
Problema con Control de Versiones

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 [-]
/*Llamamos Versión Actual si se lanza una Excepción DESEARÍA QUE NO CONTINUARÁ HACÍA ABAJO*/

EXECUTE PROCEDURE REVISA_VERSION('FAC',1.010,'20.04.2006') ;
 
/*Actualizamos SISTEMA*/
Update TSISTEMAS set Version = 1.010,Fec_Ver='02.05.2006' where Clave='FAC' ;
 
/*Agregamos Campo en Tabla*/
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.
Responder Con Cita