Risposte:
Ad hoc è in latino per "per questo scopo". Potresti chiamarlo una query "al volo" o una query "proprio così". È il tipo di query SQL che si digita liberamente dove serve
var newSqlQuery = "SELECT * FROM table WHERE id = " + myId;
... che è una query completamente diversa ogni volta che viene eseguita quella riga di codice, a seconda del valore di myId
. L'opposto di una query ad hoc è una query predefinita come una Stored Procedure, in cui è stata creata una singola query per l'intero scopo generalizzato di selezionare da quella tabella (ad esempio) e passare l'ID come variabile.
Una query ad hoc è una query che non può essere determinata prima del momento in cui la query viene emessa. Viene creato per ottenere informazioni in caso di necessità ed è costituito da SQL costruito dinamicamente, che di solito è costruito da strumenti di query residenti sul desktop.
Controlla: http://www.learn.geekinterview.com/data-warehouse/dw-basics/what-is-an-ad-hoc-query.html
Inoltre, voglio aggiungere che la query ad hoc è vulnerabile agli attacchi SQL injection. Dovremmo cercare di evitare di usarlo e utilizzare invece SQL con parametri ( come PreparedStatement in Java ).
Una query ad hoc è una query che non può essere determinata prima del momento in cui la query viene emessa. Viene creato per ottenere informazioni in caso di necessità ed è costituito da SQL costruito dinamicamente, che di solito è costruito da strumenti di query residenti sul desktop. Una query ad hoc non risiede nel computer o nel gestore database ma viene creata in modo dinamico in base alle esigenze dell'utente dei dati.
In SQL, una query ad hoc è un comando / query tipicamente liberamente il cui valore dipende da alcune variabili. Ogni volta che viene eseguito il comando, il risultato è diverso, a seconda del valore della variabile. Non può essere predeterminato e di solito rientra nella query SQL di programmazione dinamica. Una query ad hoc è di breve durata e viene creata in fase di esecuzione.
Una query ad hoc è quella creata per fornire un recordset specifico da una o più tabelle unite disponibili sul server DB. Queste query di solito hanno uno scopo monouso e potrebbero non essere necessarie per essere incorporate in qualsiasi procedura memorizzata per essere eseguite nuovamente in futuro.
Scenario ad hoc : ricevi una richiesta per un sottoinsieme specifico di dati con un insieme univoco di variabili. Se non esiste una query pre-scritta in grado di fornire i risultati necessari, è necessario scrivere una query ad hoc per generare i risultati del recordset.
Oltre a una query ad hoc monouso sono memorizzate le procedure ; vale a dire query archiviate nello strumento di interfaccia DB. Queste procedure memorizzate possono quindi essere eseguite in sequenza all'interno di un modulo o macro per eseguire un'attività predefinita su richiesta, su una pianificazione o attivata da un altro evento.
Scenario di procedura memorizzata : ogni mese è necessario generare un report dallo stesso set di tabelle e con le stesse variabili (queste variabili possono essere valori predefiniti specifici, valori calcolati come "fine del mese corrente" o valori di input di un utente). La prima volta è stata creata la procedura come query ad hoc. Dopo aver testato i risultati per garantire l'accuratezza, è possibile scegliere di distribuire questa query. Quindi archiviare la query o la serie di query in un modulo o in una macro per eseguirla nuovamente secondo necessità.
Le query ad hoc sono quelle che non sono già definite che non sono necessarie su base regolare, quindi non sono incluse nel set tipico di report o query
Una query ad hoc è:
La query ad hoc è il tipo di definizione del computer. Ciò significa che questa query è appositamente progettata per ottenere qualsiasi informazione quando è necessaria. Predefiniti. fai riferimento a questo https://www.youtube.com/watch?v=0c8JEKmVXhU
Nel server SQL "Query ad hoc" viene utilizzato anche per le query distribuite ad hoc. Si tratta di query ad hoc su un altro server tramite OpenRowset o OpenDatasource. Le query distribuite ad hoc sono consentite solo dopo averlo configurato. Questa è un'opzione di configurazione del server.
SQL injection attacks
... Devi usare il parametro.