Procedimento para listas quantidade de registro com duas tabelas

Boa tarde amigos,
Estou com um problema, não estou conseguindo cumprir com a exigência da solicitação, gostaria de uma ajudinha se possível, o meu professor deu isso e não estou conseguindo fazer.

objetivo:

Listear na tela:
Nome e quantidade de amigos de todos os usuário que possuírem mais do que X amigos (informado como parâmetro no procedimento).
A cada impressão de usuário o procedimento deverá listar o nome dos amigos deste usuário.

Tabelas:
tbusuario (pkcodusu,nomeusu,datanasc,sexo,quantamigosativos)
[b]tbamigos/b

Esse foi o procedimento que fiz, acho que esta errado.

CREATE OR REPLACE PROCEDURE busca_amigo(p.nomeamigo IN varchar2, p.nomeamigo OUT varchar2)
IS
BEGIN
SELECT COUNT(u.nomeusu) as qtdeamigo
INTO p.nomeamigo
FROM TBusuario u, TBamigo a
WHERE u.nomeusu = p.nomeusu
AND u.pkcodusu = a.fkcodusu;

IF SQL%NOTFOUND
THEN raise_application_error(?20013,?Nome Invalido!?p.nome);
END IF
END;
/
Abraço
Becker