T-SQL Komutları
T-SQL Komutları
Bu videomda T-SQL ile programlama yapmak için kesin olarak bilinmesi kurallara değindim. Gelecek içeriğimde view,trigger, procedure ve UDF konularına da değindikten sonra sınırsız olarak transact scriptler hazırlayacağız.
Değişken tanımlama
Değişkenler DECLARE komutu ile başlar değişken adının başına @ işareti koyulur ve AS VERİ TİPİ şeklinde tanımlanır. SET komutu ile değişkene değer ataması yapılır.
DECLARE @SAYI1 AS INT
SET @SAYI1 = 25
DECLARE @SAYI2 AS INT
SET @SAYI2 = 30
DECLARE @TOPLAM AS INT
SET @TOPLAM = @SAYI1+@SAYI2
SELECT @TOPLAM
DECLARE @AD AS VARCHAR(100)
SET @AD = 'SEFA'
DECLARE @SOYAD AS VARCHAR(100)='ÇELİK'
DECLARE @TAMAD AS VARCHAR(200)
SET @TAMAD=@AD+ ' ' + @SOYAD
SELECT @AD,@SOYAD,@TAMAD
DECLARE @TARIH AS DATETIME
SET @TARIH = '2025-05-07 17:51:10'
SELECT @TARIH
DECLARE @YIL AS INT
DECLARE @AY AS INT
DECLARE @GUN AS INT
DECLARE @SAAT AS INT
DECLARE @DAKIKA AS INT
DECLARE @SANIYE AS INT
SET @YIL = YEAR(@TARIH)
SET @AY = MONTH(@TARIH)
SET @GUN = DAY(@TARIH)
SET @SAAT = DATEPART(HOUR,@TARIH)
SET @DAKIKA = DATEPART(MINUTE,@TARIH)
SET @SANIYE = DATEPART(SECOND,@TARIH)
SELECT @TARIH,@YIL,@AY,@GUN,@SAAT,@DAKIKA,@SANIYE
SQL sorgusundan gelen değeri değişkene atama
DECLARE @ENBUYUK AS INT
DECLARE @ENKUCUK AS INT
SELECT @ENBUYUK=MAX(muzisyen_yas),@ENKUCUK=MIN(muzisyen_yas) FROM muzisyenler
SQL sorgusuna parametre gönderme
DECLARE @YAS AS INT
SET @YAS=30
SELECT * FROM muzisyenler WHERE muzisyen_yas > @YAS
T-SQL Fonksiyonları
Aşağıdaki linklerden bütün T-SQL fonksiyonlarına ulaşabilirsiniz. Fonksiyonun ne işe yaradığı, nasıl kullanılacağı gibi bütün bilgiler mevcut.
https://learn.microsoft.com/en-us/sql/t-sql/functions/string-functions-transact-sql?view=sql-server-ver16
https://learn.microsoft.com/en-us/sql/t-sql/functions/mathematical-functions-transact-sql?view=sql-server-ver16
https://learn.microsoft.com/en-us/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-ver16
Şart Blokları
Şart Blokları bir şartın karşılanıp karşılanmadığına göre programın nasıl davranacağını belirler.T-SQL'de 3 farklı şart bloğu vardır bunlar;
- IF= Yüksek seviye programlama dillerindeki mantıkla aynı çalışır. Şartlar BEGIN ve END komutları arasında yazılır. Sorguların içinde kullanılamaz
- IIF= Sorguların içinde kullanılabilir. Sadece 2 şart eklenebilir. İlk parametre koşul sağlanırsa ikinci parametre koşul sağlanmazsa gösterilir.
- CASE WHEN= Sorguların içinde kullanılabilir.Sınırsız şart eklenebilir.
DECLARE @NUMBER AS INT
SET @NUMBER = 0
DECLARE @RESULT AS VARCHAR(100)
IF @NUMBER > 0
BEGIN
SET @RESULT = 'Seçilen Değer Pozitif'
END
ELSE IF @NUMBER < 0
BEGIN
SET @RESULT= 'SEÇİLEN DEĞER NEGATİF'
END
ELSE
BEGIN
SET @RESULT= 'SEÇİLEN DEĞER SIFIR'
END
SELECT @RESULT
SELECT *,
CASE
WHEN muzisyen_yas < 35 THEN 'GENÇ'
WHEN muzisyen_yas < 60 THEN 'YAŞLI'
END AS Yaş_Grubu FROM muzisyenler
SELECT IIF(muzisyen_cinsiyet='ERKEK','Cinsiyeti Erkek','Cinsiyeti Kadın') , * FROM muzisyenler
SELECT * FROM muzisyenler
Döngüler
Döngler bir şartın karşılandığı sürece çalışan yapılardır.T-SQL'de 2 farklı döngü kullanımı vardır bunlar;
- GO= Belirlenen sayı kadar işlemi tekrarlar.
- WHILE= Koşul sağlandığı sürece işlemi tekrarlar.
INSERT INTO abc VALUES ('sefa');
GO 5
DECLARE @I AS INT =0
WHILE @I<5
BEGIN
INSERT INTO abc VALUES ('sefa');
SET @I=@I+1
END