You can use mixed notation where you start defining actual parameters in order, after some point, use explicit names.
SQL> SQL> declare-- from www . ja v a 2s.co m 2 procedure p_print 3 (i_str1_tx VARCHAR2 :='hello', 4 i_str2_tx VARCHAR2 :='world', 5 i_end_tx VARCHAR2 :='!' ) is 6 begin 7 DBMS_OUTPUT.put_line(i_str1_tx||',' 8 ||i_str2_tx||i_end_tx); 9 end; 10 begin 11 p_print( 'Hi',i_end_tx=>'...'); -- mixed 12 p_print(i_str1_tx=>'Hi',i_end_tx=>'...'); -- pure named 13 end; 14 / Hi,world... Hi,world... PL/SQL procedure successfully completed.