Sammanfattning
I den här modulen har du lärt dig avancerade T-SQL-tekniker som hjälper dig att skriva mer uttrycksfull, effektiv och underhållsbar databaskod. De här funktionerna hanterar vanliga scenarier för databasutveckling som omfattar komplex analys, hierarkiska data, JSON-bearbetning och felhantering.
Du har lärt dig att:
- Skriva vanliga tabelluttryck (CTE) för att organisera komplexa frågor och använda rekursiva mönster för att korsa hierarkiska datastrukturer
- Använda fönsterfunktioner för rangordning, löpande summor, glidande medelvärden och analysberäkningar som bevarar detaljer på radnivå
- Använda JSON-funktioner som
JSON_OBJECT,JSON_ARRAY,JSON_ARRAYAGG,OPENJSONochJSON_VALUEför att parsa, konstruera och transformera JSON-data - Implementera reguljära uttryck med
REGEXP_LIKE,REGEXP_REPLACE,REGEXP_SUBSTRoch relaterade funktioner för mönstermatchning och textmanipulering - Hitta ungefärliga matchningar med hjälp av fuzzy-strängfunktioner som
EDIT_DISTANCE,EDIT_DISTANCE_SIMILARITYochJARO_WINKLER_DISTANCE - Skapa graftabeller och skriva frågor med operatorn
MATCHochSHORTEST_PATHför relationsbläddering - Skriva korrelerade underfrågor för jämförelser rad för rad, existenskontroller och beräkningar per rad
- Implementera strukturerad felhantering med
TRY...CATCH, felfunktioner ochTHROWkorrekt transaktionshantering
Viktiga lärdomar
- Rekursiva CTE är standardmetoden för att traversera hierarkiska data som organisationsscheman eller strukturer för materialförteckningar.
- Fönsterfunktioner med
OVER-satser möjliggör analysberäkningar utan att komprimera rader. Använd dem i stället för självkopplingar för att beräkna summor och rankningsordningar. -
JSON_OBJECTochJSON_ARRAYAGGkonstruerar JSON från relationsdata, medanOPENJSONtolkar JSON till relationsrader -
JARO_WINKLER_DISTANCEär optimerad för namnmatchning.EDIT_DISTANCE_SIMILARITYfungerar bättre för längre strängar - Kontrollera alltid
@@TRANCOUNTföreROLLBACKiCATCHblocken för att hantera fall där ingen transaktion är aktiv - Kombinera
SET XACT_ABORT ONmedTRY...CATCHför fullständigt transaktionsskydd