SQL の位置パラメータの数え上げ

SQL の $1, $2… が、いくつ・どこまで使われているかを数える。

SQL を貼り付けると、PostgreSQL の位置パラメータ($1, $2…)の最大番号・使われている番号・欠番・出現回数を一覧にします。文字列・コメント・ドル引用符の中の $n は数えません。入力はブラウザの外へ送信しません。

ツールを使う 入力例と結果

SQL を貼り付けて $1, $2… の個数を確かめる

入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。

結果

エラー 0 件・警告 0 件・情報 0 件

指摘(エラー・警告・情報)

指摘はありません。

最大番号$2
使われている番号の数2 個
欠番なし

プレースホルダの一覧

プレースホルダの一覧
プレースホルダ出現回数行
$111 行目
$211 行目

初期表示は入力例「ふつうの検索条件 2 つ」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。

ご利用にあたって

  • 結果は字句の読み取りにもとづく確認で、実際のクエリが正しく実行できることを保証するものではありません。
  • ドキュメントは PostgreSQL License で公開されています。このサイトはその内容を要約して参照しており、転載はしていません。

使い方

  1. アプリのコードやログから、プリペアドステートメントとして実行する SQL をコピーして貼り付けます。
  2. PostgreSQL の $1, $2… だけを数えるなら「$1, $2…」を、? や :名前 も数えたいときは後者を選びます。
  3. 渡す値の個数がわかっていれば入力します。最大番号と合わないときに警告が出ます。
  4. 表で番号ごとの出現回数を見て、欠番や想定外の番号がないことを確かめます。

入力例と結果

代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。

入力例と結果の一覧
入力例結果
ふつうの検索条件 2 つエラー 0 件・警告 0 件・情報 0 件
$2 が抜けた INSERTエラー 0 件・警告 1 件・情報 0 件
同じ番号の再利用と個数の不一致エラー 0 件・警告 1 件・情報 1 件
文字列・識別子・コメントの中の $エラー 0 件・警告 0 件・情報 0 件
引用符が閉じていない SQLエラー 1 件・警告 0 件・情報 0 件
$n と ? と :名前 の混在エラー 0 件・警告 1 件・情報 0 件

このツールでできないこと(制約)

よくある質問

文字列の中に $1 と書いてあっても数えますか?

数えません。単一引用符の文字列・ドル引用符・コメント・二重引用符つき識別子の中の $1 はパラメータではないため、数えずに読み飛ばします。

渡す値の個数が合わないとどうなりますか?

PREPARE の公式ページには個数が合わない場合の動作が書かれていないため、このツールは断定しません。警告で食い違いを知らせるので、使っている DB やドライバーで実際の動作を確かめてください。

貼り付けた SQL はどこかに送られますか?

送られません。数える処理はお使いのブラウザの中だけで行い、ページは通信を禁止する設定(CSP の connect-src)で配信しています。