Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'editor di query di Azure Esplora dati supporta l'uso di T-SQL oltre al linguaggio di query primario, il linguaggio di query Kusto (KQL). Anche se KQL è il linguaggio di query consigliato, T-SQL può essere utile per gli strumenti che non sono in grado di usare KQL.
Nota
Sono supportati solo i comandi DQL (Data Query Language). Per altre informazioni, vedere Copertura.
Query con T-SQL
Per eseguire una query T-SQL, iniziare la query con una riga di commento T-SQL vuota: --. La -- sintassi indica all'editor di query di interpretare la query seguente come T-SQL e non KQL.
Esempio
--
SELECT * FROM StormEvents
Da T-SQL a Linguaggio di query Kusto
L'editor di query supporta la possibilità di convertire query T-SQL in KQL. Questa funzionalità di traduzione può essere utile per gli utenti che hanno familiarità con SQL e vogliono ottenere altre informazioni su KQL.
Per ottenere la chiave KQL equivalente per un'istruzione T-SQL SELECT , aggiungere la parola chiave explain prima della query. L'output sarà la versione KQL della query, che può essere utile per comprendere la sintassi e i concetti KQL corrispondenti.
Ricordarsi di anteporre le query T-SQL con una riga di commento T-SQL, --, per indicare all'editor di query di interpretare la query seguente come T-SQL e non KQL.
Esempio
--
explain
SELECT top(10) *
FROM StormEvents
ORDER BY DamageProperty DESC
Output
StormEvents
| project
StartTime,
EndTime,
EpisodeId,
EventId,
State,
EventType,
InjuriesDirect,
InjuriesIndirect,
DeathsDirect,
DeathsIndirect,
DamageProperty,
DamageCrops,
Source,
BeginLocation,
EndLocation,
BeginLat,
BeginLon,
EndLat,
EndLon,
EpisodeNarrative,
EventNarrative,
StormSummary
| sort by DamageProperty desc nulls first
| take int(10)
Eseguire funzioni archiviate
Quando si usa T-SQL, è consigliabile creare query KQL ottimizzate e incapsularle nelle funzioni archiviate, in modo da ridurre al minimo il codice T-SQL e migliorare le prestazioni. Ad esempio, se si dispone di una funzione archiviata come descritto nella tabella seguente, è possibile eseguirla come illustrato nell'esempio di codice.
| Nome | Parametri | Testo | Cartella | DocString |
|---|---|---|---|---|
| MyFunction | (myLimit: long) | {StormEvents | take myLimit} | MyFolder | Funzione demo con parametro |
SELECT * FROM kusto.MyFunction(10)
Nota
Per distinguere tra le funzioni archiviate e le stored procedure di sistema SQL emulate, eseguire funzioni archiviate con un riferimento esplicito allo kusto schema. Nell'esempio la funzione archiviata viene eseguita usando kusto.Myfunction.
Impostare le proprietà della richiesta
Le proprietà della richiesta controllano il modo in cui una query viene eseguita e restituisce i risultati. Per impostare le proprietà della richiesta con T-SQL, anteporre alla query una o più istruzioni con la sintassi seguente:
Sintassi
DECLARE@__kql_set_valore del tipo = requestPropertyName ;
Parametri
| Nome | Digita | Obbligatorio | Descrizione |
|---|---|---|---|
| requestPropertyName | string |
✔️ | Nome della proprietà della richiesta da impostare. |
| type | string |
✔️ | Tipo di dati T-SQL del valore. |
| value | scalare | ✔️ | Valore da assegnare alla proprietà della richiesta. |
Nota
- Due istruzioni devono essere separate da un punto e virgola e non devono essere presenti righe vuote prima della query.
- Le proprietà della richiesta si applicano solo alle istruzioni di espressione tabulare che seguono immediatamente.
Esempi
La tabella seguente illustra esempi di come impostare le proprietà della richiesta con T-SQL.
| Proprietà request | Esempio |
|---|---|
query_datetimescope_to |
DECLARE @__kql_set_query_datetimescope_to DATETIME = '2023-03-31 03:02:01'; |
request_app_name |
DECLARE @__kql_set_request_app_name NVARCHAR = 'kuku'; |
query_results_cache_max_age |
DECLARE @__kql_set_query_results_cache_max_age TIME = '00:05:00'; |
truncationmaxsize |
DECLARE @__kql_set_truncationmaxsize BIGINT = 4294967297; |
maxoutputcolumns |
DECLARE @__kql_set_maxoutputcolumns INT = 3001; |
notruncation |
DECLARE @__kql_set_notruncation BIT = 1; |
norequesttimeout |
DECLARE @__kql_set_norequesttimeout BIT = 0; |
Per impostare le proprietà della richiesta con KQL, vedere l'istruzione set.
Copertura
Azure Esplora dati offre supporto limitato per T-SQL. La tabella seguente descrive le istruzioni E le funzionalità T-SQL non supportate o parzialmente supportate.
| Istruzione o funzionalità T-SQL | Descrizione |
|---|---|
CREATE, INSERT, DROP e ALTER |
Non supportato |
| Modifiche dello schema o dei dati | Non supportato |
ANY, ALL e EXISTS |
Non supportato |
WITHIN GROUP |
Non supportato |
TOP PERCENT |
Non supportato |
TOP WITH TIES |
Valutato come regolare TOP |
TRUNCATE |
Restituisce il valore più vicino |
SELECT * |
L'ordine delle colonne può differire dalle aspettative. Usare i nomi delle colonne se l'ordine è importante. |
AT TIME ZONE |
Non supportato |
| Cursori SQL | Non supportato |
| Sottoquery correlate | Non supportato |
| CTE ricorsive | Non supportato |
| Istruzioni dinamiche | Non supportato |
| Istruzioni di controllo del flusso | Sono supportate solo IF THEN ELSE le istruzioni con uno schema identico per THEN e .ELSE |
| Nome di colonna duplicato | Non supportato. Il nome originale viene mantenuto per una colonna. |
| Tipo di dati | I dati restituiti possono variare in base al tipo di SQL Server. Ad esempio, TINYINT e SMALLINT non hanno equivalenti in Azure Esplora dati e possono restituire come INT32 o INT64 anziché BYTE .INT16 |
Contenuto correlato
- Informazioni sull'emulazione di SQL Server in Azure Esplora dati
- Usare SQL per Linguaggio di query Kusto foglio informativo