Что такое Ad Hoc Query?

Я читаю книгу о SQL. В этой книге есть термин Ad Hoc Query, который я не понимаю.

Что именно представляет собой специальный запрос?

8 ответов

Решение

Ad hoc на латыни означает "для этой цели". Вы можете назвать это запросом "на лету" или "просто так". Это тот тип SQL-запроса, который вы просто набираете, где вам нужно

var newSqlQuery = "SELECT * FROM table WHERE id = " + myId;

... это совершенно другой запрос каждый раз, когда выполняется эта строка кода, в зависимости от значения myId, Противоположностью специального запроса является предопределенный запрос, такой как хранимая процедура, где вы создали один запрос для всей обобщенной цели выбора, скажем, из этой таблицы, и передали идентификатор в качестве переменной.

Ad-Hoc Query - это запрос, который нельзя определить до момента его выдачи. Он создан для того, чтобы получать информацию, когда возникает необходимость, и состоит из динамически сконструированного SQL, который обычно создается с помощью резидентных инструментов запросов.

Проверьте: http://www.learn.geekinterview.com/data-warehouse/dw-basics/what-is-an-ad-hoc-query.html

Ad-Hoc запрос является один создан, чтобы обеспечить определенный набор записей из любого или нескольких слиты таблиц, доступных на сервере БД. Эти запросы обычно служат одноразовой цели и могут не входить в какую-либо хранимую процедуру для повторного запуска в будущем.

Специальный сценарий: вы получаете запрос на определенное подмножество данных с уникальным набором переменных. Если нет заранее написанного запроса, который может предоставить необходимые результаты, вы должны написать специальный запрос для генерации результатов набора записей.

Помимо одноразового использования Ad-hoc-запроса, существуют хранимые процедуры; т.е. запросы, которые хранятся в инструменте интерфейса БД. Эти хранимые процедуры затем могут выполняться последовательно в модуле или макросе для выполнения заранее определенной задачи либо по запросу, либо по расписанию, либо по другому событию.

Сценарий хранимой процедуры: каждый месяц вам необходимо создавать отчет из одного и того же набора таблиц и с одними и теми же переменными (эти переменные могут быть конкретными предопределенными значениями, вычисленными значениями, такими как "конец текущего месяца" или значениями, введенными пользователем). Вы бы создали процедуру как специальный запрос в первый раз. После тестирования результатов на точность, вы можете развернуть этот запрос. Затем вы сохраните запрос или серию запросов в модуле или макросе для повторного выполнения при необходимости.

Также хочу добавить, что специальный запрос уязвим для атак SQL-инъекций. Мы должны стараться избегать его использования и использовать вместо этого параметризованные SQL ( например, PreparedStatement в Java).

Ad-Hoc Query - это запрос, который нельзя определить до момента его выдачи. Он создан для того, чтобы получать информацию, когда возникает необходимость, и состоит из динамически сконструированного SQL, который обычно создается с помощью резидентных инструментов запросов. Специальный запрос не находится на компьютере или в менеджере баз данных, но создается динамически в зависимости от потребностей пользователя данных.

В SQL специальный запрос - это слабо типизированная команда / запрос, значение которого зависит от некоторой переменной. Каждый раз, когда команда выполняется, результат отличается в зависимости от значения переменной. Это не может быть предопределено и обычно попадает под SQL-запрос динамического программирования. Специальный запрос недолговечен и создается во время выполнения.

Специальный запрос -

  • этот тип запроса разработан для "определенной цели", в отличие от предварительно определенного запроса, который имеет одно и то же выходное значение при каждом выполнении.
  • Команда специального запроса выполняется каждый раз, но результат зависит от значения переменной.
  • Он не может быть предопределен и обычно относится к динамическому программированию SQL-запроса.
  • Специальный запрос недолговечен и создается во время выполнения.

Ad-hoc Statments - это просто операторы T-SQL, в которых есть предложение Where, и что предложение Where может фактически иметь такой литерал, как:

Select * from member where member_no=285;

или переменная:

declare @mno INT=285;
Select * from member where member_no=@mno

Специальные запросы - это те, которые еще не определены, которые не нужны на регулярной основе, поэтому они не включены в типовой набор отчетов или запросов.

Специальный запрос - это тип определения компьютера. Это означает, что этот запрос специально разработан для получения любой информации, когда она необходима. Предопределенные. см. этот https://www.youtube.com/watch?v=0c8JEKmVXhU

Специальный запрос:

  1. Запланированный вопрос.
  2. Запланированный вопрос.
  3. подстегните вопрос.
  4. Вопрос, который не даст никаких результатов.

В Sql Server "Ad Hoc Query" также используется для Ad Hoc Distributed Queries. Это специальные запросы на другом сервере через OpenRowset или OpenDatasource. Специальные распределенные запросы разрешены только после настройки. Это опция конфигурации сервера.

Другие вопросы по тегам