To pass only the last parameter, use named notation, where you explicitly define which actual parameter corresponds to each formal one.
SQL> SQL> declare-- from www .j a v a 2s .c om 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(i_str2_tx=>'people'); -- just the second 12 p_print(i_end_tx=>'...'); -- just the third 13 p_print(i_end_tx=>'...',i_str2_tx=>'people'); -- mix 14 15 end; 16 / hello,people! hello,world... hello,people... PL/SQL procedure successfully completed.
The => operator indicates explicit pairs.
Because you're naming parameters explicitly, you don't need to use any specific order.