Respostas:
Ad hoc é latim para "para esse fim". Você pode chamá-lo de uma consulta "on the fly" ou uma consulta "just so". É o tipo de consulta SQL que você digita vagamente onde precisa
var newSqlQuery = "SELECT * FROM table WHERE id = " + myId;
... que é uma consulta totalmente diferente cada vez que a linha de código é executada, dependendo do valor de myId
. O oposto de uma consulta ad hoc é uma consulta predefinida, como um Procedimento Armazenado, em que você criou uma única consulta para todo o objetivo generalizado de selecionar a partir dessa tabela (digamos) e passar o ID como uma variável.
Uma consulta ad-hoc é uma consulta que não pode ser determinada antes do momento em que a consulta é emitida. Ele é criado para obter informações quando necessário e consiste em SQL dinamicamente construído, que geralmente é construído por ferramentas de consulta residentes na área de trabalho.
Verifique: http://www.learn.geekinterview.com/data-warehouse/dw-basics/what-is-an-ad-hoc-query.html
Também quero adicionar que a consulta ad hoc é vulnerável a ataques de injeção de SQL. Devemos tentar evitar usá-lo e usar SQLs parametrizados ( como PreparedStatement em Java ).
Uma consulta ad-hoc é uma consulta que não pode ser determinada antes do momento em que a consulta é emitida. Ele é criado para obter informações quando necessário e consiste em SQL dinamicamente construído, que geralmente é construído por ferramentas de consulta residentes na área de trabalho. Uma consulta ad hoc não reside no computador ou no gerenciador do banco de dados, mas é criada dinamicamente, dependendo das necessidades do usuário de dados.
No SQL, uma consulta ad hoc é um comando / consulta de tipo fraco, cujo valor depende de alguma variável. Cada vez que o comando é executado, o resultado é diferente, dependendo do valor da variável. Ele não pode ser predeterminado e geralmente vem sob consulta SQL de programação dinâmica. Uma consulta ad hoc tem vida curta e é criada em tempo de execução.
Uma consulta Ad-hoc é aquela criada para fornecer um conjunto de registros específico de uma ou várias tabelas mescladas disponíveis no servidor DB. Essas consultas geralmente atendem a um propósito de uso único e podem não ser necessárias para serem incorporadas a qualquer procedimento armazenado para execução novamente no futuro.
Cenário ad-hoc : você recebe uma solicitação para um subconjunto específico de dados com um conjunto exclusivo de variáveis. Se não houver uma consulta pré-escrita que possa fornecer os resultados necessários, você deverá escrever uma consulta Ad-hoc para gerar os resultados do conjunto de registros.
Além de uma consulta Ad-hoc de uso único, existem procedimentos armazenados ; ou seja, consultas armazenadas na ferramenta de interface DB. Esses procedimentos armazenados podem ser executados em sequência dentro de um módulo ou macro para realizar uma tarefa predefinida sob demanda, em uma agenda ou acionada por outro evento.
Cenário de procedimento armazenado : Todo mês você precisa gerar um relatório do mesmo conjunto de tabelas e com as mesmas variáveis (essas variáveis podem ser valores predefinidos específicos, valores calculados como "final do mês atual" ou valores de entrada do usuário). Você criou o procedimento como uma consulta ad-hoc pela primeira vez. Após testar os resultados para garantir a precisão, você pode optar por implantar esta consulta. Você armazenaria a consulta ou série de consultas em um módulo ou macro para executar novamente conforme necessário.
Consultas ad hoc são aquelas que ainda não estão definidas e que não são necessárias regularmente, portanto não são incluídas no conjunto típico de relatórios ou consultas
Uma consulta Ad-Hoc é:
A consulta ad hoc é o tipo de definição do computador. O que significa que esta consulta foi especialmente projetada para obter qualquer informação quando for necessária. Predefinido. consulte este https://www.youtube.com/watch?v=0c8JEKmVXhU
No SQL Server, "Ad Hoc Query" também é usado para consultas distribuídas ad hoc. Essas são consultas ad hoc em outro servidor via OpenRowset ou OpenDatasource. As consultas distribuídas ad hoc são permitidas somente após a configuração. Esta é uma opção de configuração do servidor.
SQL injection attacks
... Você deve usar o parâmetro.