最近仕事で、Oracle データベース内のすべてのテーブルのフィールド「フラグ」を「I」に更新する必要があるという要件に遭遇しました。そのステートメントは次のとおりです。
「I」は文字列として使用されます。したがって、ステートメントの一重引用符に I を追加する必要があります。
データベースには複数のテーブルがあるため、ステートメントを 1 つずつ書きたくないので、SQL ステートメントを通じてすべてのステートメントを直接生成できるようにしたいので、次の SQL を書きました。
この時点で実行すると、「エラー: ORA -00923: 必要な FROM キーワードが見つかりませんでした。エラーは 'I' の 2 番目の一重引用符の位置で報告されます。一重引用符のペア関係により、I は文字列ではありません。 , したがって、エラーが報告されます。次に、単一引用符を表示したい場合は、次のステートメントを試してみます: もエラーを報告します。 "'" を表示する必要がある場合は、Java と同様にエスケープ文字を使用する必要があります。Oracle のエスケープ文字は一重引用符であるため、SQL は次のようになります。このように書かれています:update table_name set flag = 'I'2 番目の一重引用符 "'" を "" として扱うにはどうすればよいですか? さて、必要な SQL は次のとおりです:
select 'update ' || table_name || ' set flag = 'I'' || ';' from user_tables以上です! 上記はすべて Oracle エスケープ文字に関するものです。この記事の内容が皆さんの学習や仕事に役立つことを願っています。ご質問があれば、メッセージを残してください。 Oracle のエスケープ文字の詳細については、PHP の中国語 Web サイトを参照してください。