Есть ли причина, по которой вы не используете простой запрос?
select min(birth_date), max(birth_date)
from employee;
Этот мог бы быть включен в хранимую процедуру, но это кажется излишним. Использование курсора - это действительно, действительно, очень плохая практика, даже если вы изучаете SQL. Курсоров следует избегать, за исключением ситуаций, когда они необходимы - например, при вызове хранимой процедуры или вызове динамического c SQL для каждой строки.
Ваш код также, кажется, смешивает "возрасты" "и" даты ". Немного неясно, чего вы действительно хотите достичь sh.