Adatok lekérdezése A T-SQL használatával

Az Azure Data Explorer lekérdezésszerkesztő támogatja a T-SQL használatát az elsődleges lekérdezési nyelv, a Kusto lekérdezési nyelv (KQL) mellett. Bár a KQL az ajánlott lekérdezési nyelv, a T-SQL olyan eszközökhöz lehet hasznos, amelyek nem tudják használni a KQL-t.

Megjegyzés

Csak az Adatlekérdezési nyelv (DQL) parancsok támogatottak. További információ: Lefedettség.

Lekérdezés t-SQL-lel

T-SQL-lekérdezés futtatásához kezdje el a lekérdezést egy üres T-SQL megjegyzéssorral: --. A -- szintaxis arra utasítja a lekérdezésszerkesztőt, hogy a következő lekérdezést T-SQL-ként értelmezze, nem pedig KQL-ként.

Példa

--
SELECT * FROM StormEvents

T-SQL–Kusto lekérdezésnyelv

A lekérdezésszerkesztő támogatja a T-SQL-lekérdezések KQL-be való lefordításának lehetőségét. Ez a fordítási funkció hasznos lehet az SQL-t ismerő és a KQL-t jobban ismerő felhasználók számára.

Egy T-SQL-utasítás SELECT megfelelő KQL-jének lekéréséhez adja hozzá a kulcsszót explain a lekérdezés előtt. A kimenet a lekérdezés KQL-verziója lesz, amely hasznos lehet a megfelelő KQL-szintaxis és -fogalmak megértéséhez.

Ne felejtse el beszűkíteni a T-SQL-lekérdezéseket egy T-SQL-megjegyzéssorsal, --hogy a lekérdezésszerkesztő a következő lekérdezést T-SQL-ként értelmezze, nem pedig KQL-ként.

Példa

--
explain
SELECT top(10) *
FROM StormEvents
ORDER BY DamageProperty DESC

Kimenet

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)

Tárolt függvények futtatása

A T-SQL használatakor javasoljuk, hogy hozzon létre optimalizált KQL-lekérdezéseket, és foglalja bele őket a tárolt függvényekbe, mivel ezzel minimalizálja a T-SQL-kódot, és növelheti a teljesítményt. Ha például rendelkezik egy tárolt függvénnyel az alábbi táblázatban leírtak szerint, végrehajthatja azt a példakódban látható módon.

Name Paraméterek Törzs Mappa DocString
MyFunction (myLimit: long) {StormEvents | take myLimit} MyFolder Demo függvény paraméterrel
SELECT * FROM kusto.MyFunction(10)

Megjegyzés

A tárolt függvények és az emulált SQL-rendszer tárolt eljárásainak megkülönböztetéséhez futtassa a tárolt függvényeket a kusto sémára mutató explicit hivatkozással. A példában a tárolt függvény végrehajtása a paranccsal kusto.Myfunctiontörténik.

Kérelemtulajdonságok beállítása

A kérelemtulajdonságok határozzák meg, hogy a lekérdezés hogyan hajtja végre és adja vissza az eredményeket. Ha kéréstulajdonságokat szeretne beállítani a T-SQL-lel, a lekérdezést egy vagy több utasítással kell előtaggal elõre állítania az alábbi szintaxissal:

Syntax

DECLARE@__kql_set_requestPropertyNametípusérték=;

Paraméterek

Név Típus Kötelező Leírás
requestPropertyName string ✔️ A beállítani kívánt kérelemtulajdonság neve.
Típus string ✔️ Az érték T-SQL-adattípusa .
value Skalár ✔️ A kérelemtulajdonsághoz hozzárendelendő érték.

Megjegyzés

Példák

Az alábbi táblázat példákat mutat be a kérelemtulajdonságok T-SQL-lel való beállítására.

Kérelem tulajdonság Példa
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 DEKLARÁLJA @__kql_set_query_results_cache_max_age IDŐT = '00:05:00';
truncationmaxsize DECLARE @__kql_set_truncationmaxsize BIGINT = 4294967297;
maxoutputcolumns DECLARE @__kql_set_maxoutputcolumns INT = 3001;
notruncation DEKLARÁLJA @__kql_set_notruncation BIT = 1;
norequesttimeout DEKLARÁLJA @__kql_set_norequesttimeout BIT = 0;

A kérelemtulajdonságok KQL-vel való beállításához lásd: utasítás beállítása.

Lefedettség

Az Azure Data Explorer korlátozott támogatást nyújt a T-SQL-hez. Az alábbi táblázat a nem támogatott vagy részben támogatott T-SQL-utasításokat és szolgáltatásokat ismerteti.

T-SQL-utasítás vagy -funkció Description
CREATE, INSERT, DROPés ALTER Nem támogatott
Séma- vagy adatmódosítások Nem támogatott
ANY, ALLés EXISTS Nem támogatott
WITHIN GROUP Nem támogatott
TOP PERCENT Nem támogatott
TOP WITH TIES Kiértékelve normálként TOP
TRUNCATE A legközelebbi értéket adja eredményül.
SELECT * Az oszlopsorrend eltérhet az elvárástól. Ha a sorrend számít, használjon oszlopneveket.
AT TIME ZONE Nem támogatott
SQL-kurzorok Nem támogatott
Korrelált al lekérdezések Nem támogatott
Rekurzív CTE-k Nem támogatott
Dinamikus utasítások Nem támogatott
Folyamatvezérlési utasítások Csak IFTHENELSE az azonos sémával THEN rendelkező utasítások ELSE támogatottak.
Ismétlődő oszlopnevek Nem támogatott. Az eredeti név egy oszlopban marad meg.
Adattípusok A visszaadott adatok típusa eltérhet a SQL Server. Például, TINYINT és nincs egyenértékű az Azure Data Explorer, és a vagy helyett BYTEINT16vagy INT64 helyett is visszatérhet INT32SMALLINT.