CREATE OR REPLACE FUNCTION emp_nomas3_inmueb() RETURNS TRIGGER AS $$ 
DECLARE
vnuminm integer := 0;
BEGIN 
/* Comprueba cuantos inmuebles gestiona el empleado afectado en la operación */
SELECT COUNT(*) INTO vnuminm FROM inmueble 
WHERE empleado_id=NEW.empleado_id;

IF vnuminm = 3 THEN
   RAISE NOTICE 'El empleado % gestiona tres inmuebles: no se le puede asignar más inmuebles',NEW.empleado_id;
   RETURN NULL;
ELSE
   RETURN NEW;
END IF;

END; 
$$ language plpgsql; 
CREATE TRIGGER emp_nomas3_inmueb BEFORE INSERT OR UPDATE OF empleado_id ON inmueble FOR EACH ROW EXECUTE PROCEDURE emp_nomas3_inmueb(); 