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:

 IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
   PRINT 'It is the weekend.'
 ELSE
   PRINT 'It is a weekday.'

Untuk perintah lebih dari satu baris, maka blok dengan awal BEGIN dan akhiran END harus dipakai seperti contoh ini:

 IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
  BEGIN
   PRINT 'It is the weekend.'
   PRINT 'Get some rest!'
 END
 ELSE
 BEGIN
   PRINT 'It is a weekday.'
   PRINT 'Get to work!'
 END

Tipe suatu variable biasanya dinyatakan dengan perintah DECLARE:

 DECLARE @Counter INT
 SET @Counter = 10
 WHILE @Counter > 0
 BEGIN
   PRINT 'The count is ' + CONVERT(VARCHAR(10), @Counter)
   SET @Counter = @Counter - 1
 END

Suatu variable @ArticleCount dapat diberi nilai awal dengan jumlah baris COUNT yang terdapat pada table Articles, sebagai berikut:

 DECLARE @ArticleCount INT
 SELECT @ArticleCount = COUNT(*) FROM Articles
 INSERT

Lihat pula

sunting