2016-11-19 15 views
0

テーブルがいくつかあります。テーブルに名前を付け、そのテーブルの値を入力して挿入します。私はこれを実行するたびに、間違った表を入力したとしても、何があってもすべての入力を通過します。それから、:=の代わりに、=というシンボルが表示されるというエラーが表示されます。 コード:(SQLPlusをまたはsqlplusエミュレータで実行されている)&演算子を使用してテーブルに挿入する

set serveroutput on; 

declare 
myTable varchar2; 
begin 
myTable = &input_table; 
if myTable = 'Supervisor' then 
insert into Supervisor values(&supID, &supName); 
elsif myTable = 'Job' then 
insert into Job values(&jobID, &jobName); 
else dbms_output.put_line('Found no such table.'); 
end if; 
end; 
/

答えて

1

PL/SQLスクリプトは、対話型ツールではありません。スクリプトを実行すると、Oracleは最初にそのテキストを解析し、すべて& -variablesを定義してから、入力を要求してから実行を開始します。インタラクティブなツールを代わりに使用してください(実際には、独自のツールを自分で作成する必要があります)。

関連する問題