[解決済み] PL/SQLで、文字列中のシングルクォートをエスケープする方法は?
2022-01-26 14:34:59
質問
Oracle PL/SQLで、文字列中のシングルクォートをエスケープする方法を教えてください。この方法で試してみましたが、うまくいきません。
declare
stmt varchar2(2000);
begin
for i in 1021 .. 6020
loop
stmt := 'insert into MY_TBL (Col) values(\'ER0002\')';
dbms_output.put_line(stmt);
execute immediate stmt;
commit;
end loop;
exception
when others then
rollback;
dbms_output.put_line(sqlerrm);
end;
/
解決方法は?
リテラルクオートを使用することができます。
stmt := q'[insert into MY_TBL (Col) values('ER0002')]';
リテラルに関するドキュメント はここにあります。 .
また、2つの引用符で1つの引用符を表すこともできます。
stmt := 'insert into MY_TBL (Col) values(''ER0002'')';
Q構文によるリテラルクオートの仕組みは、より柔軟で可読性が高いと私は思います。
関連
-
[解決済み】ORA-30926:ソーステーブルの安定した行のセットを取得できません。
-
[解決済み] ORA-01882: タイムゾーン領域が見つかりません。
-
[解決済み] ミリ秒を含む日付文字列に対するOracle to_date関数の使用
-
[解決済み] ORA-01465: BLOB を使用しているとき、Oracle の 16 進数が無効です。
-
[解決済み] ORA-30036: アンドゥ テーブルスペース 'UNDOTBS' でセグメントを 8 つ拡張できません。
-
[解決済み] ORA-01799: 列がサブクエリに外部結合されていない可能性があります。
-
[解決済み] PLS-00306:Oracle SP の呼び出しで引数の数または種類が誤っている。
-
[解決済み] oracle pl/sql DBMS_LOCK エラー
-
[解決済み] PL/SQLプロシージャ - SQLステートメント無視エラー
-
[解決済み] ORA-01407:NULLに更新できません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
オラクルのファジー・クエリーとその使い方
-
オラクルストアドプロシージャの事例を解説
-
Oracle TriggersとCursorsを高速に学ぶ
-
Oracleで読み取り専用アカウントを作成する詳細手順
-
[解決済み] ORA-29913: Oracle に csv を挿入する際の ODCIEXTTABLEOPEN コールアウトの実行でエラーが発生しました。
-
[解決済み] ORA-01465: BLOB を使用しているとき、Oracle の 16 進数が無効です。
-
[解決済み] ORA-29283: 無効なファイル操作 ORA-06512: "SYS.UTL_FILE", 行 536 で。
-
[解決済み] ORA-04063: パッケージ本体 "WB_PROD.PLOG" にエラーがあります。
-
[解決済み] pl sql %NOTFOUND
-
[解決済み] ORA-01747:user.table.column, table.column, または column の指定が無効です。