FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con procedimiento almacenado
Gracias por adelantado por su atencion, ahora, el problema es el siguiente:
uso firebird 1.5 y delphi sp2 con ibx tengo un procedimiento almacenado(SP) el cual debe de verificar si una ciudad ya existe en la base de datos, en su respectiva tabla ciudad, y debe de regresar un resultado, el asunto es que no me regresa el resultado correcto, supongo que por mala escritura de la SP, a qui pongo el codigo de la sp, agradesco de antemano cualquier ayuda.... Código:
SET TERM ^ ; CREATE PROCEDURE SP_VERIFICA_CIUDAD ( NOMBRE VARCHAR(40)) RETURNS ( RESULTADO INTEGER) AS DECLARE VARIABLE CODIGO INTEGER; DECLARE VARIABLE NOMBREVAR VARCHAR(10); begin SELECT CIUDADKEY, CIUDADNOMBRE FROM CCIUDAD WHERE CIUDADNOMBRE=:nombre into :codigo, :nombrevar; if (nombrevar='') then resultado=0; else resultado=1; suspend; end ^ SET TERM ; ^ |
#2
|
|||
|
|||
Saludos
Tu procedimiento esta en lo correcto nada mas que no es lo mismo Nulo que vacio y tu estas tratando de comparar vacio con Nulo, cuando la ciudad no la encuentra el valor te regresa Nulo
Código:
SET TERM ^ ; CREATE PROCEDURE SP_VERIFICA_CIUDAD ( NOMBRE VARCHAR(40)) RETURNS ( RESULTADO INTEGER) AS DECLARE VARIABLE CODIGO INTEGER; DECLARE VARIABLE NOMBREVAR VARCHAR(10); begin SELECT CIUDADKEY, CIUDADNOMBRE FROM CCIUDAD WHERE CIUDADNOMBRE=:nombre into :codigo, :nombrevar; if (nombrevar IS NULL) then resultado=0; else resultado=1; suspend; end ^ SET TERM ; ^
__________________
saludos desde Puebla Mexico.. asanxt@hotmail.com "como siempre a sus ordenes y siempre con buena cara" 'lolita me excitas, perversa piel de melocotón' |
#3
|
|||
|
|||
Prueba así:
Edit: Veo que en lo que tardé en formar mi mensaje te respondieron... Pero bueno, la versión que te pongo del procedimiento usa una variable menos, la cual tu declaras pero no haces uso de ella, a menos que hayas puesto una versión reducida de tu procedimiento. Saludos... |
#4
|
||||
|
||||
Prueba con esto:
a ver si te sirve |
|
|
|