prueba asi, creo que aprovecharas mejor los indices
Código SQL
[-]
CREATE PROCEDURE STOCK_VS_SERIE
returns (PRODUCTO VARCHAR(25),
NOMBRE_PRODUCTO VARCHAR(150),
STOCK_FISICO DOUBLE PRECISION,
NRO_SERIES INTEGER,
DIFERENCIA INTEGER)
AS
begin
FOR
SELECT COUNT(CODIGO_SERIE), CODIGO_PRODUCTO
FROM SERIE_PRODUCTO
GROUP BY CODIGO_PRODUCTO
INTO :NRO_SERIES, :PRODUCTO
DO
BEGIN
SELECT NOMBRE_PRODUCTO, STOCK_FISICO
FROM PRODUCTO
WHERE CODIGO_PRODUCTO = :PRODUCTO
INTO :NOMBRE_PRODUCTO, :STOCK_FISICO;
DIFERENCIA = STOCK_FISICO - NRO_SERIES;
if (DIFERENCIA > 0 ) THEN
SUSPEND;
END
end
saludos