Няма реални недостатъци, за които мога да се сетя. Мисля, че би било малко по-ясно, ако работните променливи бяха декларирани като екземпляри на подтипа, напр.:
DECLARE
subtype t_int is INTERVAL DAY (4) TO SECOND(0);
v_int t_int;
FUNCTION hhmm_to_interval return t_int IS
v_hhmm t_int;
BEGIN
v_hhmm := to_dsinterval('PT9999H');
RETURN v_hhmm;
END hhmm_to_interval;
BEGIN
v_int := hhmm_to_interval;
DBMS_OUTPUT.PUT_LINE('v_int=' || v_int);
end;
Споделяйте и се наслаждавайте.