next up previous contents index
Next: Ejemplos de Trigger Up: Triggers Previous: Algunos ejemplos simples de   Índice General   Índice de Materias

Funciones PL/pgSQL en tipos compuestos

Como mencionamos, las funciones PL/pgSQL también pueden actuar sobre tipos compuestos.

Si tenemos la siguiente tabla:

mancha=> select nombre,salario from emp;
nombre       |salario
-------------+-------
Bill Clinton |   1000
Boris Yeltsin|   2000
(2 rows)

Y definimos la siguiente función:

CREATE FUNCTION BienPagao (EMP, int4) RETURNS bool AS '
    DECLARE
        emprec ALIAS FOR $1;
        sallim ALIAS FOR $2;
    BEGIN
        IF emprec.salario ISNULL THEN
            RETURN ''f'';
        END IF;
        RETURN emprec.salario > sallim;
    END;
' LANGUAGE 'plpgsql';

Podemos hacer consultas para averiguar quienes son aquellos empleados que ganan más de una determinada cantidad.

mancha=> select nombre,BienPagao (emp, 500) as SobrePagado from emp;
nombre       |sobrepagado
-------------+-----------
Bill Clinton |t          
Boris Yeltsin|t          
(2 rows)

En efecto, creo que ambos ganan más de lo que merecen.



Ismael Olea 2001-04-21