MS Transact SQL (T-SQL) Programmering
Beskrivelse
I den daglige drift af Microsoft SQL Serverne har man brug for dele af Transact-SQL-syntaksen, som ligger uden for SQL-standarden.
Vi starter kurset med at introducere tre typer kortlivede objekter: Skalare variable, Tabel-variable og Midlertidige Tabeller - samt:
- Hvordan de oprettes og befolkes.
- Hvordan de bruges som mellemregninger i komplekse koder.
- Hvad forskellen er på Tabel-variable og Midlertidige tabeller, og hvornår den ene benyttes frem for den anden.
- Hvordan de bygges ind i Procedurer (eng. stored procedures) hhv. Funktioner (eng. User-defined functions).
Ligeledes introducerer vi Flow Control-elementerne IF/THEN/ELSE og WHILE-løkker, som kan styre rækkefølgen de enkelte SQL-statements afvikles i. Disse kan også kodes ind i Procedurer og Funktioner.
Næsten alle databaser indeholder Dato/Tid-registreringer, og det er nødvendigt at kunne håndtere disse - herunder med højest mulig performance. Dette er et stort emne på kurset, og der indgår mange demonstrationer samt øvelser.
Der er vigtige design- og sikkerhedsmæssige grunde til ikke at tilgå en databases tabeller direkte fra rapportgeneratorerne. I stedet hentes data gennem container-objekterne Views og Procedurer. Argumenterne for dette og teknikken dertil gennemgås detaljeret på kurset.
Et andet vigtigt aspekt ved Container-objekterne er at centralisere dele af sin forretningslogik gennem Procedurer og Funktioner. Performance-aspekterne ved Procedurer og Funktioner gennemgås ligeledes detaljeret på kurset.
Vi har lagt en linie, hvor kursisten først introduceres til de nødvendige teknikker, for efterfølgende at anvende dem i Procedurer og Funktioner.
For at programmere SQL mod en Microsoft SQL Server kræves en kombination af tankegangen bag Standard SQL og syntaksen i Transact-SQL.
Certificeringspakker
Moduloversigt
- Modul 1Skalare Variable
Erklære skalare variable - fordele og begrænsninger
Scope for skalar variabel
Befolke og beregne v.hj.a skalare variable
- Modul 2Tabel-variable
Erklære tabel-variable
Scope for Tabel Variabel
Befolke, ændre i samt beregne v.hj.a Tabel-variable
- Modul 3Midlertidige tabeller ( Temporære tabeller )
Oprette midlertidige tabeller
Scope for Midlertidig Tabel
Befolke, ændre i samt beregne v.hj.a Midlertidige tabeller
Hvornår vælge Tabel-variabel vs Midlertidig Tabel ?
- Modul 4Arbejde med Dato/Tid
Dato/Tid datatyper - forskelle og fordele
Sikre at Dato/Tid altid læses korrekt ved input
Konvertere output af Dato/Tid
De indbyggede Dato/Tid funktioner
Beregninger på Dato/Tid - mange øvelser her !
Microsofts valg m.h.t Dato/Tid beregninger - undgå fælderne …
- Modul 5Flow Control kommandoer
IF - THEN - ELSE kommandoen
IF EXISTS kommandoen
WHILE løkker
Simple øvelser som fremhæver pointerne
- Modul 6Views
Argumenterne for at benytte Views
Begrænsningerne ved Views
- Modul 7Stored Procedures
Hvad består en Procedure af - egenskaber og definition
Scope for Procedure - hvordan afsluttes den ?
Kald af Procedure - syntax og best practices
Input parametre
Resultatsæt fra Procedurer
Output parametre
Return Values
Vigtigt: Hvordan arbejde videre med de tre typer output fra Procedurer
System Stored Procedures
- Modul 8User-defined functions ( UDF )
Hvad består en UDF af - egenskaber og definition
De tre typer UDF - forskelle, syntax
Scope for UDF - hvordan afsluttes funktionen ?
Kald af UDF - syntax og best practices
Input parametre
Vigtigt: Performance for de tre typer funktioner - best practices
System Functions
Er du i tvivl?
Det ligger os meget på sinde, at du finder det kursusforløb, der skaber størst værdi for dig og din arbejdsplads. Tag fat i vores kursusrådgivere, de sidder klar til at hjælpe dig!