0

正しい場合、このように実行時にクエリを動的に生成する「AD HOC」クエリの意味を理解しました

IF (someCondition)
strSQL = "SELECT * FROM authors WHERE " & whereClause
ELSE
strSQL = "SELECT * FROM authors WHERE " & whereClause & orderbyClause

DataWarehouse などで作業する場合のように、余分な主要な概念が欠けているものはありますか。または、他のリンクの有用な入力が役立ちます。

4

1 に答える 1

1

アドホック クエリ エンジンは、データベースに格納されたデータにアクセスするための完全な SQL 言語をサポートするエンジンです。SQL が直接提供されているか、文字列で提供されているか (あなたの例のように) に違いはありません。

一般に、意思決定支援システムでの複雑なクエリを指します。アドホック クエリは、多くのユーザーとやり取りするシステムや、データの変更が絶え間なく行われるシステムでは嫌われます。

動的 SQL は、実行前に文字列を再コンパイルする必要があるという意味で、技術的にはアドホック クエリである場合があります。ただし、動的 ​​SQL は、多くの場合、パラメーター化されたクエリの方が適切な単純なクエリを生成します。たとえば、あなたの例は、SQL インジェクション攻撃のためにしてはいけないことの典型的な例です。

于 2013-01-18T14:50:20.767 に答える