Hola Foro
Tengo un procedimiento almacenado que tiene que hacer una insercion el problema es que no respeta la condicion del if is null creo que la variable contiene algo distinto quiza sea por el tipo de datos esta es varchar, ya que si la condicion la pngo en not is null funciona perfecto.
Si algiuen sabe como depurar en interbase como se hace en vb que muestra los errores les agradeceria mucho me dijeran como, o bien si alguien sabe que tipo de dato contiene mi variable que no es un espacio en blanco por de igual forma no funciona tambien
Agradezco su ayuda.
Este es el código
FOR SELECT DISTINCT UPPER(TS.D_MUNICIPIO), SM.NOMBRE, SM.ID_ESTADO
FROM TEMPORAL_SEPOMEX TS
LEFT OUTER JOIN ZZ_SPM_MUNICIPIOS SM
ON TS.D_MUNICIPIO = SM.NOMBRE
WHERE SM.ID_ESTADO = 1 AND SM.NOMBRE IS NULL
INTO :MSepomex, :MBase, :MBestado DO
BEGIN
FOR SELECT MAX(ID_MUNICIPIO)
FROM ZZ_SPM_MUNICIPIOS
WHERE ID_ESTADO = 1
INTO :MaximoID DO
BEGIN
MAXID =:MaximoID;
NuevoId =:MaximoID + 1;
CONCATENADOS =:NuevoId;
END
IF(:MBase IS NULL) THEN
BEGIN
INSERT INTO ZZ_SPM_MUNICIPIOS
(ID_MUNICIPIO, ID_ESTADO, NOMBRE, RANGO1, RANGO2,
RANGO3, RANGO4, RANGO5, RANGO6, RANGO7, RANGO8)
VALUES(:NuevoId, :MBestado, :MSepomex, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL);
END
ELSE
EXISTENTES_BASE = MBase;
EXISTENTES_SEPOMEX = MSepomex;
END
SUSPEND;