Ver Mensaje Individual
  #1  
Antiguo 08-08-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 21
gluglu Va por buen camino
Stored Procedure con un If después de un Select

Hola Compañer@s !

No me aclaro con esto de los Stored Procedures en Interbase.

Quiero más o menos crear esta Stored Procedure :
Código SQL [-]
begin
  Select BOJ.BOOKINGNO
  from BOOKINGS_OBJECTS BOJ
  left join BOOKINGS BO
    on BO.BOOKINGNO = BOJ.BOOKINGNO
  where
    BOJ.BUILDINGNO = :"BUILDING_NO" and
    BOJ.OBJECTNO = :"OBJECT_NO" and 
    BOJ.DATETO <= :"DATE_SP" and
    BO.STATUS = 3
    Into BOOK_NO;
  if (not BOJ.BOOKINGNO is Null) then 
    SUSPEND;
  else begin
    Select BOJ.BOOKINGNO 
    from BOOKINGS_OBJECTS BOJ
    left join BOOKINGS BO
      on BO.BOOKINGNO = BOJ.BOOKINGNO
    where
      BOJ.BUILDINGNO = :"BUILDING_NO" and
      BOJ.OBJECTNO = :"OBJECTNO" and
      BOJ.DATEFROM >= :"DATE_SP" and
      BOJ.DATETO <= :"DATE_SP" and
      BO.STATUS <= 2
      Into BOOK_NO;
  end
end

Pero me da error en la línea subrayada.

Lo que quiero hacer es buscar un registro determinado, pero si no cumple la condición que pregunto después (en mi caso concreto, si se produjo un EOF del primer Select), ejecutar otro Select diferente con otras condiciones para devolver un valor diferente.

Lo que necesito es saber como preguntar si el primer Select encontró o no un registro (o varios), y en caso contrario (preguntando por EOF ? ), sjecutar el segundo Select con otras condiciones.

Gracias por vuestra ayuda.
__________________
Piensa siempre en positivo !
Responder Con Cita