L3 Info : SGBD
 
◃  Ch. 10 PL/pgSQL  ▹
 

Structures de contrôle simples

  • RETURN expression;
  • RETURN NEXT expression; : accumule un résultat local dans une mémoire tampon destinée au résultat complet
  • RETURN QUERY requête; : même principe pour le résultat d'une requête
  • IF expression THEN ... END IF;
  • IF expression THEN ... ELSE ... END IF;
  • IF expression THEN ... ELSEIF ... END IF;
  • IF expression THEN ... ELSIF ... END IF;
    CREATE FUNCTION prixTTC(prixHT real, taux real) RETURNS real AS $$
    BEGIN
       IF taux < 0 THEN
         RAISE EXCEPTION 'taux négatif %', taux;
       ELSIF taux <= 1 THEN
         RETURN prixHT * (1+taux);
       ELSE
         RETURN prixHT * (taux);
       END IF;
    END;
    $$ LANGUAGE plpgsql;
  • CASE [...] WHEN ... THEN ... [WHEN ... THEN ...] ELSE ... END CASE;