Hola.
Podrías probar algo similar a esto:
Código SQL
[-]
SET TERM ^ ;
CREATE OR ALTER PROCEDURE SP_MAXDIF
RETURNS(
RESULT INTEGER)
AS
DECLARE VARIABLE MAXDIF INTEGER;
BEGIN
AUX = 0;
RESULT = 0;
FOR
SELECT DATEDIFF(DAY FROM DT1.FECHA TO DT1.FECHA)
FROM DATOS DT1, DATOS DT2
WHERE DT1.SALIDA_NUM = DT2.SALIDA_NUM + 1
INTO AUX
DO
IF(AUX > RESULT) THEN RESULT = AUX;
SUSPEND;
END^
SET TERM ; ^
De acuerdo a tu código infiero que la columna
SALIDA_NUM es numérica ascendente y consecutiva, de otro modo no funcionará el algorítmo.
Algo que no especificas es la unidad en que deseas obtener la diferencia.
manelb ya te hizo esa observación y te especificó el formato de la sintáxis en su mensaje.
Mas información sobre la función:
DATEDIFF()
Saludos