私はここで再確認しているだけですが、他の人が時々この質問をしていると思います:
ユーザー入力が含まれていない場合にパラメーター化されたクエリを使用する理由はありますか? たとえば、ランダムな文字列を SQL テーブルに入れる場合です。
私はここで再確認しているだけですが、他の人が時々この質問をしていると思います:
ユーザー入力が含まれていない場合にパラメーター化されたクエリを使用する理由はありますか? たとえば、ランダムな文字列を SQL テーブルに入れる場合です。
安全のために、はい。現在の値が完全に安全であると確信している場合でも、将来、他の誰も変更を加えたり、別の目的で同じクエリを使用したりしないことを確実に保証できますか?
他に理由がなければ、コードがきれいなのが気に入っています。パラメータ化せずに理論的に安全に実行できるクエリがいくつかありますが、文字列の構築は非常に醜く、保守が必要な場合に醜いコードを理解するのは困難です。
たとえば、C# の場合 (この場合は PL/SQL クエリ)
String query = @"SELECT thing, stuff
FROM table_of_things
WHERE thing = :thing
OR stuff = :stuff";