Sammendrag

Fullført

I denne modulen lærte du avanserte T-SQL-teknikker som hjelper deg å skrive mer uttrykksfull, effektiv og vedlikeholdbar databasekode. Disse kapabilitetene dekker vanlige databaseutviklingsscenarier som involverer kompleks analyse, hierarkiske data, JSON-behandling og feilhåndtering.

Du lærte å gjøre følgende:

  • Skriv Common Table Expressions (CTEs) for å organisere komplekse spørringer og bruke rekursive mønstre for å navigere gjennom hierarkiske datastrukturer
  • Bruk vindusfunksjoner for rangering, løpende totaler, glidende gjennomsnitt og analytiske beregninger som bevarer detaljer på radnivå
  • Bruk JSON-funksjoner inkludert JSON_OBJECT, JSON_ARRAY, JSON_ARRAYAGG, OPENJSON, og JSON_VALUE for å analysere, konstruere og transformere JSON-data
  • Implementer regulære uttrykk med REGEXP_LIKE, REGEXP_REPLACE, , REGEXP_SUBSTRog relaterte funksjoner for mønstergjenkjenning og tekstmanipulering
  • Finn omtrentlige treff ved å bruke fuzzy strengfunksjoner som EDIT_DISTANCE, EDIT_DISTANCE_SIMILARITY, og JARO_WINKLER_DISTANCE
  • Lag graftabeller og skriv spørringer med operatoren MATCH og SHORTEST_PATH for relasjonstraversering
  • Skriv korrelerte underspørringer for rad-for-rad-sammenligninger, eksistenskontroller og beregninger per rad
  • Implementer strukturert feilhåndtering med TRY...CATCH, feilfunksjoner, THROW, , og riktig transaksjonshåndtering

Viktige takeaways

  • Rekursive CTE-er er standardmetoden for å navigere i hierarkiske data som organisasjonskart eller stykklistestrukturer
  • Vindusfunksjoner med OVER klausuler muliggjør analytiske beregninger uten å kollapse rader. Bruk dem i stedet for selvsammenslutninger for å løpe totaler og rangeringer
  • JSON_OBJECT og JSON_ARRAYAGG konstruerer JSON fra relasjonelle data, mens OPENJSON den parser JSON inn i relasjonsrader
  • JARO_WINKLER_DISTANCE er optimalisert for navnematching; EDIT_DISTANCE_SIMILARITY Fungerer bedre for lengre strenger
  • Sjekk @@TRANCOUNT alltid før ROLLBACK i CATCH blokker for å håndtere tilfeller der ingen transaksjon er aktiv
  • Kombiner SET XACT_ABORT ON med TRY...CATCH for full transaksjonsbeskyttelse

Mer informasjon