回答:
アドホックは「この目的のために」ラテン語です。これを「オンザフライ」クエリまたは「ジャストソー」クエリと呼ぶかもしれません。これは、必要な場所で緩く入力するだけのSQLクエリです。
var newSqlQuery = "SELECT * FROM table WHERE id = " + myId;
...これは、の値に応じて、コード行が実行されるたびにまったく異なるクエリですmyId
。アドホッククエリの反対は、ストアドプロシージャなどの事前定義されたクエリで、そのテーブルから選択するという一般的な目的全体のために単一のクエリを作成し(たとえば)、IDを変数として渡します。
アドホッククエリは、クエリが発行される前に決定できないクエリです。これは、必要に応じて情報を取得するために作成され、通常はデスクトップに常駐するクエリツールによって構築される動的に構築されたSQLで構成されます。
チェック:http : //www.learn.geekinterview.com/data-warehouse/dw-basics/what-is-an-ad-hoc-query.html
また、アドホッククエリがSQLインジェクション攻撃に対して脆弱であることを追加します。それを使用しないようにし、代わりにパラメーター化されたSQLを使用する必要があります(JavaのPreparedStatementなど)。
アドホッククエリは、クエリが発行される前に決定できないクエリです。これは、必要に応じて情報を取得するために作成され、通常はデスクトップに常駐するクエリツールによって構築される動的に構築されたSQLで構成されます。アドホッククエリは、コンピューターやデータベースマネージャーにはありませんが、データユーザーのニーズに応じて動的に作成されます。
SQLでは、アドホッククエリは緩やかに型指定されたコマンド/クエリであり、その値はいくつかの変数に依存します。コマンドを実行するたびに、変数の値によって結果が異なります。事前に決定することはできず、通常は動的プログラミングSQLクエリの対象になります。アドホッククエリは有効期間が短く、実行時に作成されます。
アドホッククエリは、いずれか、または複数のDBサーバ上で利用可能なテーブルをマージから特定のレコードを提供するために、作成したものです。これらのクエリは通常、使い捨ての目的で使用され、将来再び実行するためにストアドプロシージャに組み込む必要がない場合があります。
アドホックシナリオ:固有の変数セットを持つ特定のデータサブセットのリクエストを受け取ります。必要な結果を提供できる事前に作成されたクエリがない場合は、アドホッククエリを作成してレコードセットの結果を生成する必要があります。
使い捨てのアドホッククエリ以外に、ストアドプロシージャがあります。つまり、DBインターフェースツール内に保存されているクエリ。次に、これらのストアドプロシージャをモジュールまたはマクロ内で順番に実行して、オンデマンドで、スケジュールに従って、または別のイベントによってトリガーされて、事前定義されたタスクを実行できます。
ストアドプロシージャのシナリオ:毎月、同じテーブルのセットから同じ変数を使用してレポートを生成する必要があります(これらの変数は、特定の事前定義値、「今月の終わり」などの計算値、またはユーザーの入力値です)。プロシージャを初めてアドホッククエリとして作成します。結果をテストして正確性を確認した後、このクエリの展開を選択できます。次に、クエリまたは一連のクエリをモジュールまたはマクロに保存して、必要に応じて再度実行します。
アドホッククエリは、まだ定義されていないものであり、定期的に必要とされないものであるため、通常のレポートまたはクエリのセットには含まれません。
アドホッククエリは次のとおりです。
アドホッククエリは、コンピュータ定義の一種です。つまり、このクエリは、必要なときにだけ情報を取得するように特別に設計されています。定義済み。これを参照してくださいhttps://www.youtube.com/watch?v=0c8JEKmVXhU
SQL injection attacks
ます...パラメータを使用する必要があります。