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.Myfunction
tö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
- Két utasítást pontosvesszővel kell elválasztani, és nem lehet üres sor a lekérdezés előtt.
- A kérelemtulajdonságok csak az azonnal követett táblázatos kifejezés-utasításokra vonatkoznak .
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 IF THEN ELSE 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 BYTE INT16 vagy INT64 helyett is visszatérhet INT32 SMALLINT . |
Kapcsolódó tartalom
- Tudnivalók az Azure SQL Server emulációjáról az Azure Data Explorer
- Az SQL használata a Kusto lekérdezésnyelv
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: