開発時に発生するエラー

ORA-01756: 引用符付き文字列が正しく終了していません。

単一引用符(')を検索条件などのデータに使用するための記述方法の問題。

原因

単一引用符(')を一般的なエスケープ文字でエスケープしようとしていると思われる。
また、エスケープ定義文字を使用しても同様にエラーとなる。

SELECT * 
 FROM USER_MASTER
WHERE USER_NAME = 'あいう\'えお' ESCAPE '\' ;

ORA-01756: 引用符付き文字列が正しく終了していません

対応

ORA-00904:無効な識別子です。における リテラル項目を単一引用符(')で囲んで使用していない。事への対処法と同じ。

単一引用符(')を代入したい場合には。単一引用符(')を連続記入する。

SELECT * 
 FROM USER_MASTER
WHERE USER_NAME = 'あいう''えお' ;

対応

リテラル表記 における引用符(')の置換を行なう。Oracle 10g

SELECT * 
 FROM USER_MASTER
WHERE USER_NAME = q'{あいうえお}' ;


一覧ページへ戻る

OTN (Oracle Technology Network)によるエラーメッセージによる情報だけでは、対処に困ったエラーについてのプラクティスです。
ベスト・プラクティスというわけではないので、書いてあることに固執しないで広い視野でエラー対応してください。

ORA-01756の関連トピックス

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト