Transact-SQL (disingkat T-SQL) adalah jenis bahasa untuk basis data SQL yang dikeluarkan oleh perusahaan Microsoft dan Sybase. Pada sistem berbasis Microsoft, T-SQL ini diimplementasikan pada perangkat lunak Microsoft SQL Server, sedangkan pada sistem berbasis Sybase, bahasa Transact-SQL ini dipakai pada perangkat lunaknya yang bernama Adaptive Server Enterprise dan Sybase SQL Server.
Seperti bahasa dalam kebanyakan basis data SQL, T-SQL ini mempunyai beberapa fitur:
bahasa kendali alir (control flow)
variabel lokal
pemrosesan matematis, string, tanggal (date), dll
perbaikan perintah DELETE dan UPDATE.
Kata kunci (keyword) yang dipakai meliputi perintah BEGIN dan END, BREAK, CONTINUE, GOTO, IF dan ELSE, RETURN, WAITFOR, serta WHILE. Beberapa contoh dari penggunaan bahasa T-SQL ini adalah:
IFDATEPART(dw,GETDATE())=7ORDATEPART(dw,GETDATE())=1PRINT'It is the weekend.'ELSEPRINT'It is a weekday.'
Untuk perintah lebih dari satu baris, maka blok dengan awal BEGIN dan akhiran END harus dipakai seperti contoh ini:
IFDATEPART(dw,GETDATE())=7ORDATEPART(dw,GETDATE())=1BEGINPRINT'It is the weekend.'PRINT'Get some rest!'ENDELSEBEGINPRINT'It is a weekday.'PRINT'Get to work!'END
Tipe suatu variable biasanya dinyatakan dengan perintah DECLARE:
DECLARE@CounterINTSET@Counter=10WHILE@Counter>0BEGINPRINT'The count is '+CONVERT(VARCHAR(10),@Counter)SET@Counter=@Counter-1END
Suatu variable @ArticleCount dapat diberi nilai awal dengan jumlah baris COUNT yang terdapat pada table Articles, sebagai berikut: