Jak již řekli jiní, samotný PL/SQL není pro tento úkol vhodný, pro interakci s koncovým uživatelem potřebujete uživatelské rozhraní. Pokud to však skutečně potřebujete v SQL Plus, je to možné pomocí techniky, kterou jsem popsal v tato SO otázka .
Musíte vytvořit 2 skripty SQL Plus:
1) Skript pro provedení jediného vložení, zde nazvaný script_insert.sql:
insert into t1 values ('&1.');
@main
2) Skript pro řízení procesu, zde nazvaný main.sql:
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.
Nyní v SQL Plus jej můžete spustit takto:
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
Dovolte mi zopakovat, že to dokazuje, že to lze udělat, netvrdil bych, že je to dobrý způsob, jak implementovat požadavek - pokud to není pouze ad hoc nástroj, který má použít DBA nebo vývojář. Nikdy bych nedal koncovému uživateli SQL Plus jako uživatelské rozhraní!