T-SQL eller Transact-SQL er en proprietær utvidelse til SQL (sekvensiell spørrespråk). De utvidede funksjonene inkluderer: Forbedret ytelse, økt funksjonalitet og forbedret globaliseringsstøtte.
Lagrede prosedyrer i Transact-SQL
Lagrede prosedyrer er kjørbare server-siderutiner. De gir deg stor kraft og ytelsesfordeler hvis de brukes klokt. I motsetning til brukerdefinerte funksjoner (UDFer), kan lagrede prosedyrer ha bivirkninger. Årsaken til dette er at du ikke kan ha transaksjon innenfor funksjon, mens de i en prosedyre har lov til å endre data i tabeller og endrer endog objektdefinisjoner. Lagrede prosedyrer kan brukes som et sikkerhetslag. Du kan kontrollere tilgangen til objekter ved å gi utførelsesrettigheter på lagrede prosedyrer og ikke til underliggende objekter.
SQL Server 2008 støtter ulike typer lagrede prosedyrer: Brukerdefinert, system og utvidet. Du kan utvikle brukerdefinerte lagrede prosedyrer med T-SQL eller med CLR.
Følgende er noen programmer som kan generere Transact-SQL:
- Generelle kontor produktivitetsapplikasjoner.
- Programmer som bruker et grafisk brukergrensesnitt (GUI) for å la brukerne velge tabellene og kolonnene de vil se data fra.
- Distribuerte databasesystemer hvorfra data fra SQL Server blir replikert til ulike databaser, eller distribuerte søk utføres.
- Datavarehus hvor data hentes fra OLTP-systemer (online transaction processing) og oppsummeres for beslutningsstøtteanalyse.
For å forklare mer fullstendig, er programmering i Transact-SQL en blanding av flere tydelige, men likevel integrerte komponenter. La oss anta at du vil bygge et program, og du starter med design og analyse av databasen som du vil. Og at du har bygget din utviklingsdatabase ved hjelp av deklarative SQL-setninger eller kanskje et visuelt datamodelleringsverktøy. Du vil kanskje senere implementere et sett med komplekse forretningsregler på databasetabellene dine gjennom triggere kodet i Transact-SQL. Derfra kan du opprette rapporter og forretningsmessige behandlingsmoduler som støtter brukergrensesnittet gjennom lagrede prosedyrer kodet i Transact-SQL.
Som nevnt tidligere tilbyr SQL Server 2008 et bredt spekter av Transact-SQL-funksjoner som gjør det mulig for utviklere å lage nye applikasjoner som kan lagre og forbruke alle typer data på en hvilken som helst enhet, og gjør det mulig for alle brukerne å ta informerte beslutninger med relevant innsikt. Her er de viktigste funksjonene:
- Initialisering av variabler
- Sammensatte oppdragsoperatører
- Forbedret CONVERT-funksjon
- Nye dato og tid datatyper
- Ny dato og tid funksjoner
- MERGE-setningen
- Gruppesett
- Tabellverdierte parametere
- Store brukerdefinerte typer
- Konstruksstøtte for bordverdier
- HIERARCHYID datatypen
- DDL utløserforbedringer
- Store CLR-brukerdefinerte aggregater
- Sparsomme kolonner
- Filtrerte indekser
- Multi-input CLR brukerdefinerte aggregater
- ORDER-alternativet for CLR-tabellverdier
- Objekt avhengighet
- Endre datafangst
- Sorteringsjustering
- avskrivninger
SQL-databasen er et populært emne i disse dager. Med dataene blir mer komplekse og store, gjør teknologier som Transact-SQL spørreundersøkelser raskere og optimalisert. Å forstå og studere disse teknologiene som involverer å håndtere komplekse datalager og deres gruveproblemer, er flotte i sine termer. For nybegynnere som har litt kunnskap om DBMS, er disse noen nye konsepter som kan hjelpe dem til å utforme sin tilnærming bedre.
Hvis du ønsker å utforske Transact-SQL helt, anbefaler jeg deg å ta noen bøker og bruke MSDN for løsninger også.