Zoals anderen al hebben gezegd, is PL/SQL alleen niet geschikt voor deze taak, je hebt een UI nodig om met de eindgebruiker te communiceren. Als u dit echter echt in SQL Plus moet doen, is het mogelijk met behulp van de techniek die ik heb beschreven in deze SO-vraag .
U moet 2 SQL Plus-scripts maken:
1) Een script om een enkele insertie uit te voeren, hier genaamd script_insert.sql:
insert into t1 values ('&1.');
@main
2) Een script om het proces te besturen, hier main.sql genoemd:
accept selection prompt "Please enter value, enter 'done' when no more values: "
set term off verify off
column script new_value v_script
select case '&selection.'
when 'done' then ''
else '@script_insert &selection.'
end as script
from dual;
set term on
@&v_script.
Nu in SQL Plus kun je het als volgt uitvoeren:
SQL> select * from t1;
no rows selected
SQL> @main
Please enter value, enter 'done' when no more values: 1
Please enter value, enter 'done' when no more values: 2
Please enter value, enter 'done' when no more values: 3
Please enter value, enter 'done' when no more values: done
SQL> select * from t1;
N1
----------
1
2
3
Laat me herhalen dat dit aantoont dat het kan, ik zou niet beweren dat het een goede manier is om de vereiste te implementeren - tenzij het slechts een ad-hoctool is die door een DBA of ontwikkelaar moet worden gebruikt. Ik zou nooit een eindgebruiker . geven SQL Plus als gebruikersinterface!