Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Editor dotazů Azure Data Exploreru podporuje použití jazyka T-SQL kromě primárního dotazovacího jazyka Kusto (KQL). I když je jazyk KQL doporučeným dotazovacím jazykem, může být jazyk T-SQL užitečný pro nástroje, které nemůžou používat jazyk KQL.
Poznámka:
Podporují se pouze příkazy jazyka DQL (Data Query Language). Další informace najdete v tématu Pokrytí.
Dotazování pomocí T-SQL
Pokud chcete spustit dotaz T-SQL, začněte dotaz prázdným řádkem komentáře T-SQL: --. Syntaxe -- říká editoru dotazů, aby interpretovat následující dotaz jako T-SQL, nikoli jako KQL.
Příklad
--
SELECT * FROM StormEvents
T-SQL do dotazovací jazyk Kusto
Editor dotazů podporuje možnost překladu dotazů T-SQL do jazyka KQL. Tato funkce překladu může být užitečná pro uživatele, kteří jsou obeznámeni s SQL a chtějí se dozvědět více o KQL.
Pokud chcete získat ekvivalentní KQL pro příkaz T-SQL SELECT , přidejte před dotaz klíčové slovo explain . Výstupem bude verze KQL dotazu, která může být užitečná pro pochopení odpovídající syntaxe a konceptů KQL.
Nezapomeňte před dotazy T-SQL pomocí řádku komentáře T-SQL, aby editoru dotazů řekl, --aby interpretoval následující dotaz jako T-SQL, a ne KQL.
Příklad
--
explain
SELECT top(10) *
FROM StormEvents
ORDER BY DamageProperty DESC
Výstup
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)
Spouštění uložených funkcí
Při použití jazyka T-SQL doporučujeme vytvořit optimalizované dotazy KQL a zapouzdřit je do uložených funkcí, protože tím minimalizujete kód T-SQL a může zvýšit výkon. Pokud máte například uloženou funkci popsanou v následující tabulce, můžete ji spustit, jak je znázorněno v příkladu kódu.
| Název | Parametry | Text | Složka | DocString |
|---|---|---|---|---|
| MyFunction | (myLimit: long) | {StormEvents | take myLimit} | MyFolder | Demo funkce s parametrem |
SELECT * FROM kusto.MyFunction(10)
Poznámka:
Pokud chcete rozlišovat mezi uloženými funkcemi a emulovanými uloženými procedurami systému SQL, spusťte uložené funkce s explicitním odkazem na kusto schéma. V příkladu se uložená funkce spustí pomocí kusto.Myfunction.
Nastavení vlastností požadavku
Vlastnosti požadavku určují, jak se dotaz spouští a vrací výsledky. Pokud chcete nastavit vlastnosti požadavku pomocí jazyka T-SQL, předestavte svůj dotaz jedním nebo více příkazy s následující syntaxí:
Syntaxe
DECLARE@__kql_set_requestPropertyName – hodnota typu = ;
Parametry
| Název | Type | Požadováno | Popis |
|---|---|---|---|
| requestPropertyName | string |
✔️ | Název vlastnosti požadavku, která se má nastavit. |
| type | string |
✔️ | Datový typ T-SQL hodnoty. |
| value | skalární | ✔️ | Hodnota, která se má přiřadit k vlastnosti požadavku. |
Poznámka:
- Dva příkazy musí být oddělené středníkem a před dotazem by neměl být prázdný řádek.
- Vlastnosti požadavku se vztahují pouze na příkazy tabulkového výrazu , které bezprostředně následují.
Příklady
Následující tabulka ukazuje příklady nastavení vlastností požadavku pomocí T-SQL.
| Vlastnost Požadavku | Příklad |
|---|---|
query_datetimescope_to |
DEKLARACE @__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 |
DEKLARACE @__kql_set_query_results_cache_max_age ČAS = '00:05:00'; |
truncationmaxsize |
DEKLARACE @__kql_set_truncationmaxsize BIGINT = 4294967297; |
maxoutputcolumns |
DEKLARACE @__kql_set_maxoutputcolumns INT = 3001; |
notruncation |
DEKLARUJTE @__kql_set_notruncation BIT = 1; |
norequesttimeout |
DEKLARUJTE @__kql_set_norequesttimeout BIT = 0; |
Pokud chcete nastavit vlastnosti požadavku pomocí KQL, viz příkaz set.
Disponibilita
Azure Data Explorer nabízí omezenou podporu T-SQL. Následující tabulka popisuje příkazy a funkce T-SQL, které nejsou podporované nebo jsou částečně podporované.
| Příkaz T-SQL nebo funkce | Popis |
|---|---|
CREATE, INSERT, DROPa ALTER |
Nepodporováno |
| Změny schématu nebo dat | Nepodporováno |
ANY, ALLa EXISTS |
Nepodporováno |
WITHIN GROUP |
Nepodporováno |
TOP PERCENT |
Nepodporováno |
TOP WITH TIES |
Vyhodnoceno jako pravidelné TOP |
TRUNCATE |
Vrátí nejbližší hodnotu. |
SELECT * |
Pořadí sloupců se může lišit od očekávání. Názvy sloupců používejte v případě, že záleží na objednávce. |
AT TIME ZONE |
Nepodporováno |
| Kurzory SQL | Nepodporováno |
| Korelované poddotazy | Nepodporováno |
| Rekurzivní CTE | Nepodporováno |
| Dynamické příkazy | Nepodporováno |
| Příkazy řízení toku | Podporují se pouze IF THEN ELSE příkazy se stejným schématem THEN a ELSE jsou podporovány. |
| Duplicitní názvy sloupců | Nepodporováno Původní název je zachován pro jeden sloupec. |
| Datové typy | Vrácená data se můžou lišit v typu od SQL Serveru. TINYINT Například v SMALLINT Azure Data Exploreru nemá žádný ekvivalent a může se vrátit jako INT32 nebo INT64 místo BYTE nebo INT16. |
Související obsah
- Informace o emulaci SQL Serveru v Azure Data Exploreru
- Použití jazyka SQL k dotazovací jazyk Kusto taháku