Interbase - exemplo de if dentro de stored procedure

Top  Previous  Next

// neste exemplo o resultado da stored procedure vai

// fornecer o codigo,nome,valor de uma tabela de produtos

// com um porem, a tabela possui 2 precos, quando o preco1

// estiver vazio tem que retornar o 2 preco.

 

SET TERM ^ ; 

 

/* Stored procedures definition */

/* Stored Procedure: SP_LISTAGEM */

CREATE PROCEDURE SP_LISTAGEM 

RETURNS ( COD_PROD INTEGER,

          NOM_PROD VARCHAR (30),

          VALOR NUMERIC (102))

AS

DECLARE VARIABLE VALOR_1 NUMERIC(10,2);

DECLARE VARIABLE VALOR_2 NUMERIC(10,2);

BEGIN

  FOR

    SELECT COD_PROD, NOM_PROD, VALOR1, VALOR2

    FROM PRODUTOS

    INTO :COD_PROD, :NOM_PROD, :VALOR_1, :VALOR_2

    DO

      BEGIN

        IF (:VALOR_1 IS NULL) THEN

          VALOR = :VALOR_2;

        IF (:VALOR_2 IS NULL) THEN

          VALOR = :VALOR_1;

        SUSPEND;

      END

END

^

 

 

SET TERM ; ^