Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Procedimiento almacenado firebird

Estas en el tema de Procedimiento almacenado firebird en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/03/2013, 19:17
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años, 7 meses
Puntos: 3
Procedimiento almacenado firebird

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;

Etiquetas: firebird, procedimiento, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:44.