他の人が言っているように、PL / SQLだけではこのタスクには適していません。エンド・ユーザーと対話するには、上部にUIが必要です。ただし、SQL Plusでこれを行う必要がある場合は、このSOの質問 。
2つのSQLPlusスクリプトを作成する必要があります:
1)ここではscript_insert.sqlと呼ばれる単一の挿入を実行するスクリプト:
insert into t1 values ('&1.');
@main
2)ここでは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.
SQL Plusでは、次のように実行できます。
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
これはそれが可能であることを示していることを繰り返しますが、DBAまたは開発者が使用するアドホックツールでない限り、要件を実装するための良い方法であるとは言いません。 エンドユーザーを提供することは決してありません UIとしてのSQLPlus!