Mensagem de erro

Ola,

fiz uma funçao para atualizar o campo Diretor (mgr) de uma tabela.
Se eu tento trocar o valor do DiretorNovo por un diretor que NAO EXISTE da um erro - NORMAL pois o campo mgr é FK do campo empno.
Mas eu gostaria de enviar uma mensagem compreensivel: FUNCIONARIO NAO EXISTE por exemplo, e nao aquela mensagem do sistema.

Tentei isso mais nao deu certo:[b]

IF (SELECT empno FROM emp WHERE diretorNovo != empno) THEN
RAISE NOTICE ‘Funcionario nao existe’;
END IF;

COMO DEVO FAZER???

[code]CREATE OR REPLACE FUNCTION update(diretorNovo IN INTEGER , diretorVelho IN INTEGER)
RETURNS VOID
AS $$
DECLARE
total integer:=0;
linha emp%rowtype;

–cursor
modificar CURSOR IS SELECT * FROM emp WHERE mgr = diretorVelho;

BEGIN
total:=0;
OPEN modificar;

IF (SELECT empno FROM emp WHERE diretorNovo != empno) THEN
RAISE NOTICE ‘Funcionario nao existe’;
END IF;

LOOP
FETCH modificar INTO linha;
EXIT WHEN NOT FOUND;

UPDATE emp SET mgr=diretorNovo WHERE mgr=linha.mgr;

–Contador
total:= total+ 1;
IF total> 0 THEN
RAISE NOTICE ‘Registros Atualizados.: %’, V_TOT_UPD;
END IF;

END LOOP;
CLOSE modificar;
END;
$$ LANGUAGE ‘plpgsql’;[/code]

Obrigada,