Sto leggendo un libro su SQL. In quel libro c'è il termine Ad Hoc Query, che non capisco.Che cos'è una query ad hoc?
Che cos'è esattamente una query ad hoc?
Sto leggendo un libro su SQL. In quel libro c'è il termine Ad Hoc Query, che non capisco.Che cos'è una query ad hoc?
Che cos'è esattamente una query ad hoc?
Ad hoc è latino per "per questo scopo". Potresti chiamarlo una query "al volo" o una query "solo così". E 'il tipo di query SQL è sufficiente digitare vagamente fuori dove serve
var newSqlQuery = "SELECT * FROM table WHERE id = " + myId;
... che è una query completamente diverso ogni volta che si esegue questa 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 selezione da quella tabella (ad esempio) e passare l'ID come variabile.
In Sql Server "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.
non si tratta di SQL Server. la questione non riguardava una particolare soluzione di impresa, ma piuttosto una comprensione generale del significato di query ad hoc – arthur
Inoltre, si desidera aggiungere che la query ad hoc è vulnerabile agli attacchi di SQL injection. Dovremmo cercare di evitare di usarlo e utilizzare invece SQL parametrizzati (like PreparedStatement in Java).
Una query ad hoc non è vulnerabile a SQL Injection. Una query non parametrizzata che accetta input dell'utente è vulnerabile a SQL Injection. – Ben
@Ben Una query ad-hoc è sempre non parametrizzata. Non può essere attaccato SQL injection se non vengono esposte le variabili agli utenti; ma il punto è che la query ad-hoc è rischiosa per SQL Injection. – xli
Una query ad-hoc è una query che non può essere determinata prima del rilascio della query. Viene creato per ottenere informazioni in caso di necessità ed è costituito da SQL dinamicamente costruito, che viene generalmente creato dagli strumenti di query residenti sul desktop.
Check: http://www.learn.geekinterview.com/data-warehouse/dw-basics/what-is-an-ad-hoc-query.html
Quindi se scrivo una query statica ed eseguo una volta, non è "ad hoc"? – jumxozizi
query ad hoc sono quelli che non sono già definite che non sono necessari su base regolare, in modo che non siano inclusi nel tipico set di report o query
Puoi spiegare di cosa stai scrivendo di più? Qual è il "set tipico"; intendi codice compilato? – Ben
un annuncio -Hoc query è:
Cosa significa in termini SQL? Inoltre, non tutte le "Domande che non restituiscono alcun risultato". sono ad hocs. – jumxozizi
La query ad hoc è un tipo di definizione computer. Il che significa che questa query è appositamente progettata per ottenere qualsiasi informazione quando è solo necessaria. Predefinite. fare riferimento a questo https://www.youtube.com/watch?v=0c8JEKmVXhU
Penso che "Predefinito" sia l'opposto di "ad hoc". – jumxozizi
Una query ad-hoc è una query che non può essere determinata prima che venga emessa la query. Viene creato per ottenere informazioni in caso di necessità ed è costituito da SQL dinamicamente costruito, che viene generalmente creato dagli strumenti di query residenti sul desktop. Una query ad hoc non risiede nel computer o nel gestore database ma viene creata dinamicamente in base alle esigenze dell'utente dei dati.
In SQL, una query ad hoc è un comando/query di tipo generico il cui valore dipende da alcune variabili. Ogni volta che il comando viene eseguito, il risultato è diverso, a seconda del valore della variabile. Non può essere predeterminato e solitamente rientra nella query SQL di programmazione dinamica. Una query ad hoc ha vita breve e viene creata in fase di runtime.
@David Hedlund la query è vulnerabile a 'attacchi SQL injection' ... È necessario utilizzare il parametro. – Parid0kht
@Paridokht: Certamente. Non sto sostenendo che uso, sto spiegando il concetto di una query ad hoc, che era la domanda. –
@DavidHedlund: Sì, capisco ... ma potrebbe essere meglio menzionarlo nella risposta perché ci sono utenti che lo leggono e non hanno idea di questo attacco. – Parid0kht