<Oracle> SQL*PLUSから"&"をINSERTする方法
はい。やってみます。
環境:Oracle Database 11g
今日作業をやっていて、マスタにデータを入れないといけなかったんですが、文字列に&が入っていてINSERTができませんでした。ちょうど下記のような状態です。
SQL> create table test (c1 varchar(100)); 表が作成されました。 SQL> insert into test values ('Sid&Nancy'); nancyに値を入力してください: やだやだ 旧 1: insert into test values ('Sid&Nancy') 新 1: insert into test values ('Sidやだやだ') 1行が作成されました。 SQL>
SQL*Plusで、"&"が置換変数として認識されて、入力を待ってしまうのが原因です。
文字列として"&"を使いたい場合は、SQLを実行する前に
SQL> SET DEFINE OFF
と打てば"&"は文字列になります。
SQL> SET DEFINE OFF SQL> insert into test values ('Sid&Nancy'); 1行が作成されました。 SQL>
ちなみに戻すには、
SQL> SET DEFINE ON
ですので、あしからず。
くわばらくわばら。