Это потому, что вы запускаете его в контексте запроса, он выполняется для каждой строки и вычисляет только Андреа.Чтобы вернуть только один результат, вам нужно запустить его всего один раз:
select BerechneAlter('Andrea') from dual;
И если вы хотите, чтобы он вычислялся для каждой строки в таблице, которую вы используете:
select BerechneAlter(name) from family;
dual
- это системная таблица в Oracle, которая используется для возврата только одного результата / значения в запросе