Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Edytor zapytań usługi Azure Data Explorer obsługuje używanie języka T-SQL oprócz podstawowego języka zapytań, języka zapytań Kusto (KQL). Chociaż język KQL jest zalecanym językiem zapytań, język T-SQL może być przydatny w przypadku narzędzi, które nie mogą używać języka KQL.
Uwaga
Obsługiwane są tylko polecenia języka DQL (Data Query Language). Aby uzyskać więcej informacji, zobacz Pokrycie.
Wykonywanie zapytań przy użyciu języka T-SQL
Aby uruchomić zapytanie T-SQL, rozpocznij zapytanie z pustym wierszem komentarza języka T-SQL: --
. Składnia --
nakazuje edytorowi zapytań interpretowanie następującego zapytania jako języka T-SQL, a nie języka KQL.
Przykład
--
SELECT * FROM StormEvents
T-SQL do język zapytań Kusto
Edytor zapytań obsługuje możliwość tłumaczenia zapytań T-SQL na język KQL. Ta funkcja tłumaczenia może być przydatna dla użytkowników, którzy znają język SQL i chcą dowiedzieć się więcej na temat języka KQL.
Aby uzyskać odpowiednik języka KQL dla instrukcji języka T-SQL SELECT
, dodaj słowo kluczowe explain
przed zapytaniem. Dane wyjściowe będą wersją języka KQL zapytania, która może być przydatna do zrozumienia odpowiedniej składni i pojęć języka KQL.
Pamiętaj, aby wstępnie czytać zapytania języka T-SQL z wierszem komentarza języka T-SQL, --
, aby poinformować edytor zapytań o interpretowanie następującego zapytania jako języka T-SQL, a nie języka KQL.
Przykład
--
explain
SELECT top(10) *
FROM StormEvents
ORDER BY DamageProperty DESC
Wyjście
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)
Uruchamianie przechowywanych funkcji
W przypadku korzystania z języka T-SQL zalecamy utworzenie zoptymalizowanych zapytań KQL i hermetyzowanie ich w funkcjach przechowywanych, co minimalizuje kod T-SQL i może zwiększyć wydajność. Jeśli na przykład masz funkcję przechowywaną zgodnie z opisem w poniższej tabeli, możesz wykonać ją, jak pokazano w przykładzie kodu.
Nazwisko | Parametry | Treść | Folder | DocString |
---|---|---|---|---|
MyFunction | (myLimit: long) | {StormEvents | take myLimit} | Mójfolder | Funkcja demonstracyjna z parametrem |
SELECT * FROM kusto.MyFunction(10)
Uwaga
Aby odróżnić przechowywane funkcje i emulowane procedury składowane systemu SQL, wykonaj funkcje składowane z jawnym odwołaniem do schematu kusto
. W tym przykładzie przechowywana funkcja jest wykonywana przy użyciu polecenia kusto.Myfunction
.
Ustawianie właściwości żądania
Żądanie właściwości kontroluje sposób wykonywania i zwracania wyników przez zapytanie. Aby ustawić właściwości żądania za pomocą języka T-SQL, przedstaw zapytanie przy użyciu co najmniej jednej instrukcji z następującą składnią:
Składnia
DECLARE
@__kql_set_
requestPropertyName, wartość typu =
;
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
requestPropertyName | string |
✔️ | Nazwa właściwości żądania do ustawienia. |
type | string |
✔️ | Typ danych języka T-SQL wartości. |
wartość | skalar | ✔️ | Wartość, która ma zostać przypisana do właściwości żądania. |
Uwaga
- Dwie instrukcje muszą być oddzielone średnikiem i nie powinno być pustego wiersza przed zapytaniem.
- Właściwości żądania dotyczą tylko instrukcji wyrażenia tabelarycznego, które są natychmiast zgodne.
Przykłady
W poniższej tabeli przedstawiono przykłady ustawiania właściwości żądania za pomocą języka T-SQL.
Właściwość Request | Przykład |
---|---|
query_datetimescope_to |
DEKLAROWANIE @__kql_set_query_datetimescope_to DATETIME = '2023-03-31 03:02:01'; |
request_app_name |
DEKLAROWANIE @__kql_set_request_app_name NVARCHAR = "kuku"; |
query_results_cache_max_age |
ZADEKLARUJ czas @__kql_set_query_results_cache_max_age = '00:05:00'; |
truncationmaxsize |
DEKLAROWANIE @__kql_set_truncationmaxsize BIGINT = 4294967297; |
maxoutputcolumns |
DEKLAROWANIE @__kql_set_maxoutputcolumns INT = 3001; |
notruncation |
DEKLAROWANIE @__kql_set_notruncation BIT = 1; |
norequesttimeout |
DEKLAROWANIE @__kql_set_norequesttimeout BIT = 0; |
Aby ustawić właściwości żądania za pomocą języka KQL, zobacz instrukcję set.
Pokrycie
Usługa Azure Data Explorer oferuje ograniczoną obsługę języka T-SQL. W poniższej tabeli przedstawiono instrukcje i funkcje języka T-SQL, które nie są obsługiwane lub są częściowo obsługiwane.
Instrukcja lub funkcja języka T-SQL | opis |
---|---|
CREATE , INSERT , DROP i ALTER |
Nieobsługiwane |
Modyfikacje schematu lub danych | Nieobsługiwane |
ANY , ALL i EXISTS |
Nieobsługiwane |
WITHIN GROUP |
Nieobsługiwane |
TOP PERCENT |
Nieobsługiwane |
TOP WITH TIES |
Oceniane jako regularne TOP |
TRUNCATE |
Zwraca najbliższą wartość |
SELECT * |
Kolejność kolumn może się różnić od oczekiwań. Użyj nazw kolumn, jeśli kolejność ma znaczenie. |
AT TIME ZONE |
Nieobsługiwane |
Kursory SQL | Nieobsługiwane |
Skorelowane podzapytania | Nieobsługiwane |
Rekursywne CTEs | Nieobsługiwane |
Instrukcje dynamiczne | Nieobsługiwane |
Instrukcje sterowania przepływem | Obsługiwane są tylko IF THEN ELSE instrukcje z identycznym schematem i .THEN ELSE |
Zduplikowane nazwy kolumn | Nieobsługiwane. Oryginalna nazwa jest zachowywana dla jednej kolumny. |
Typy danych | Zwrócone dane mogą różnić się od typu programu SQL Server. Na przykład TINYINT i SMALLINT nie mają odpowiednika w usłudze Azure Data Explorer i mogą zostać zwrócone jako INT32 lub INT64 zamiast BYTE lub INT16 . |
Powiązana zawartość
- Dowiedz się więcej o emulacji programu SQL Server w usłudze Azure Data Explorer
- Używanie bazy danych SQL do język zapytań Kusto ściągawce