Transact-SQL
A volte abbreviato con T-SQL Transact-SQL è l'estensione proprietaria del linguaggio SQL sviluppata da Microsoft e Sybase. La versione di Microsoft viene fornita insieme a Microsoft SQL Server. Sybase utilizza questo linguaggio in Adaptive Server Enterprise, il successore di Sybase SQL Server.
Transact-SQL espande le prestazioni di SQL aggiungendo:
- Funzioni per controllo di flusso
- Possibilità di definire variabili locali.
- Varie funzioni per la manipolazione di stringhe, date, espressioni matematiche.
- Miglioramento delle istruzioni DELETE e UPDATE.
Controllo di flusso e struttura del linguaggio
Fra le keyword con cui Transact-SQL implementa il controllo di flusso si annoverano BEGIN
e END
, BREAK
, CONTINUE
, GOTO
, IF
e ELSE
, RETURN
, WAITFOR
, e WHILE
.
IF
e ELSE
consentono l'esecuzione condizionale di blocchi di istruzioni. Il batch che segue stampa "giorno festivo" se la data corrente è Sabato o Domenica, oppure "giorno feriale" negli altri casi.
IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1 PRINT 'É un giorno festivo.' ELSE PRINT 'É un giorno feriale.'
BEGIN
e END
delimitano un blocco di istruzioni. Se più istruzioni devono essere controllate dalle condizioni illustrate nel precedente esempio, si possono usare BEGIN e END in questo modo:
IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1 BEGIN PRINT 'É un giorno festivo.' PRINT 'Prenditi un po' di riposo!' END ELSE BEGIN PRINT 'É un giorno feriale.' PRINT Va a lavorare!' END