私は、次のPL/SQLブロックに書いた:変数名が "'xxx'を宣言する必要がある原因となる値で置き換えられるのはなぜですか?
declare
v_name varchar2(20);
v_sal integer;
begin
EXECUTE IMMEDIATE ('CREATE TABLE EMP5 (name varchar2(20),sal integer,primary key(name))');
dbms_output.put_line('Enter name : ');
v_name:=&v_name;
dbms_output.put_line('salary : ');
v_sal :=&v_sal;
insert into emp5 (name,sal) values (v_name,v_sal);
end;
/
をそして私は、次のコンパイラの出力を得た:
Enter a valeur for v_name : dhia
old 6 : v_name:=&v_name;
new 6 : v_name:=dhia;
Enter a valeur for v_sal : 10
old 8 : v_sal :=v_&sal;
new 8 : v_sal :=10;
v_name:=dhia;
*
ERREUR at line 6 :
ORA-06550: line 6, colon 7 :
PLS-00201: the identifier 'DHIA' should be declared
ORA-06550: line 6, colon 1 :
PL/SQL: Statement ignored
ORA-06550: line9, colon 13 :
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 9, colon 1 :
PL/SQL: SQL Statement ignored
変数「名前」が「dhia」その値に置き換え、なぜ私の質問がありますそのエラーの原因となるスクリプトで、それを修正する方法は?
あなたがこの方法をあなたの変数を使用するべきではありません
実際には、これは私が最初に思ったのと全く同じエラーメッセージを与えますが、変数名が問題とは何の関係もないように見えます。どうにかして質問に変わります。 –
@DhiaHassen上記の答えの中に挿入クエリを実行してコマンドを実行しますか? –
はい私は上記のあなたのコードをコピーして貼り付け、私は同じエラーメッセージを持っています –