閉じていないドル引用符
$$ で始めた本文の閉じ $$ を書き忘れた壊れた SQL の例です。読み取れないときに、取り出さずに行番号つきのエラーで知らせることを確かめます。
入力
SQL
SELECT $$abc
E'…' と U&'…' のエスケープを展開して表示する
はい
結果
エラー 1 件・警告 0 件・情報 0 件
指摘(エラー・警告・情報)
- エラー 1 行目 ドル引用符 $$ で始まる文字列が閉じられていません(4.1.2.4)。 閉じ忘れの箇所を直してから貼り直してください。
文字列リテラルの一覧
出力はありません(指摘の一覧をご覧ください)。
検算(この結果になる理由)
ドル引用符は同じ区切りで閉じる必要があります(4.1.2.4 節)。$$ で始まるのに閉じる $$ がないため読み取れず、エラーが 1 件(1 行目)出て、表は出力されません。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 完全な SQL の構文解析はしません。文字列が実際にどの式に使われているか、型は何かまでは判定しません。
- コメントをはさんだ隣接リテラルの連結や、standard_conforming_strings を off にした設定での動作は扱いません(既定の on を前提にします)。
- UESCAPE で別のエスケープ文字を指定した U&'…' は展開せず、警告を出します。
- ビット列(B'…'・X'…')などの特殊な定数は文字列リテラルとして取り出しません。
ご利用にあたって
- 結果は字句の読み取りにもとづく確認で、実際のデータベースでの解釈を保証するものではありません。
- ドキュメントは PostgreSQL License で公開されています。このサイトはその内容を要約して参照しており、転載はしていません。