&
insert ステートメントに特殊文字を挿入したい。私の挿入は:
INSERT INTO STUDENT(name, class_id) VALUES ('Samantha', 'Java_22 & Oracle_14');
このクエリを実行しようとすると、ポップアップが表示され、 の値を入力するよう求められますOracle_14
。
&
Oracle db の挿入ステートメントのような特殊文字を入力するにはどうすればよいですか?
&
insert ステートメントに特殊文字を挿入したい。私の挿入は:
INSERT INTO STUDENT(name, class_id) VALUES ('Samantha', 'Java_22 & Oracle_14');
このクエリを実行しようとすると、ポップアップが表示され、 の値を入力するよう求められますOracle_14
。
&
Oracle db の挿入ステートメントのような特殊文字を入力するにはどうすればよいですか?
SQL*Plus または SQL Developer を使用している場合は、
SQL> set define off;
SQL ステートメントを実行する前に。これにより、置換変数のチェックがオフになります。
このような SET ディレクティブは、クライアント ツール (SQL*Plus または SQL Developer) の指示です。それらにはセッション スコープがあるため、接続するたびにディレクティブを発行する必要があります (デフォルトを変更して DEFINE を OFF に設定する場合は、クライアント マシンの glogin.sql にディレクティブを配置できます)。データベース内の他のユーザーやセッションに影響を与えるリスクはありません。
試す'Java_22 '||'&'||' Oracle_14'
ジャスティンの答えは道のりですが、FYIとして、挿入したい文字のASCII値で chr() 関数を使用することもできます。この例では、次のようになります。
INSERT INTO STUDENT(name, class_id) VALUES ('Samantha', 'Java_22 '||chr(38)||' Oracle_14');
「&」を含む値を挿入するには。次のコードを使用します。
Set define off;
Begin
INSERT INTO STUDENT(name, class_id) VALUES ('Samantha', 'Java_22 & Oracle_14');
End ;
そして、Oracle または Toad Editors から F5 を押します。
特殊文字セットについては、UNICODE Charts を確認する必要があります。キャラクターを選択したら、以下のSQLステートメントを使用できます。
SELECT COMPOSE('do' || UNISTR('\0304' || 'TTTT')) FROM dual;
--
どTTTT _
のように先頭または末尾にエスケープ文字を追加する場合は"JAVA"
、次を使用します。
INSERT INTO STUDENT(name, class_id) VALUES ('Samantha', ''||chr(34)||'JAVA'||chr(34)||'');
別の方法も使用できます。たとえば、特殊文字 'Java_22 & Oracle_14' を含む値を db に挿入するには、次の形式を使用できます..
'Java_22 '||'&'||' Oracle_14'
3 つの異なるトークンと見なされますが、オラクルのドキュメントで提供されているエスケープ シーケンスの処理が正しくないため、オプションはありません。
strAdd=strAdd.replace("&","'||'&'||'");
バックスラッシュ文字を使用して、単一の文字または記号をエスケープできます
'Java_22 \&Oracle_14'
または中括弧で文字や記号の文字列をエスケープします
'{Java_22&Oracle_14}'