Som andra har sagt, PL/SQL ensam är inte lämplig för denna uppgift, du behöver ett användargränssnitt ovanpå för att interagera med slutanvändaren. Men om du har ett verkligt behov av att göra detta i SQL Plus är det möjligt att använda tekniken jag beskrev i denna SO-fråga .
Du måste skapa 2 SQL Plus-skript:
1) Ett skript för att utföra en enkel infogning, här kallad script_insert.sql:
insert into t1 values ('&1.');
@main
2) Ett skript för att styra processen, här kallat 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.
Nu i SQL Plus kan du köra det så här:
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
Låt mig upprepa att detta visar att det kan göras, jag skulle inte hävda att det är ett bra sätt att implementera kravet - såvida det inte bara är ett ad hoc-verktyg som ska användas av en DBA eller utvecklare. Jag skulle aldrig ge en slutanvändare SQL Plus som ett användargränssnitt!