Kategori: TSQL

SET DATEFORMAT

05/07/2017 şeklinde yazılan bir tarih sizce 5 Temmuz tarihini mi yoksa 7 Mayıs tarihini mi belirtir? Ya da 01-02-03 tarihi hangi yılı, hangi ayı, hangi günü belirtir? Uygulamalarımızda tarih formatını SQL Server üzerinde değiştirmemiz gereken durumlar olabilir. Bu değişikliği yapmak için ilgili session’da SET DATEFORMAT ifadesini çalıştırmamız gerekir. Böylece yıl, ay, gün karışıklığı olmadan istediğimiz […]

SET DATEFIRST

Haftanın ilk günü ülkeye göre ya da kullanılan sisteme göre değişiklik gösterir. Bu değer Amerika için Pazar günüyken, ülkemizde Pazartesi günüdür. Haftanın günleri ile ilgili bir işlem yapılacağı zaman (mesela ayın ilk Pazartesi günü gibi) sistemde kayıtlı olan gün sıralaması istediğimiz sonuçları vermeyebilir. Bu nedenle haftanın ilk gününü kendi ihtiyaçlarımıza göre belirlememiz gerekebilir. Bunun için […]

Sequence nedir ve nasıl oluşturulur

Sequence SQL Server’daki identity mantığına benzer tablo bağımsız bir yapıdır. Üretilen sequence’i birden fazla tabloda kullanabilirsiniz. Identity ile ilgili detaylı bilgi almak için  “Identitiy column ve manual olarak bu kolona insert yapmak(Identitiy insert)” isimli makaleme göz atmak isteyebilirsiniz. Sequence ile belirli değerler arasında numeric ve sıralı sayılar üretilir. Birden fazla tabloda aynı sequence’i kullanarak farklı […]

Common Table Expression(CTE)

TSQL Kod Geliştiriciler bir query yazarken bazen aynı kod bloğunu birden fazla yerde kullanmak isteyebilirler. Bazen bu query’yi çok karmaşıklaştırabilir. Tekrar kullanılmak istenilen kod bloğunu Common Table Expression(CTE) oluşturarak ve bu CTE’ye bir alias vererek kod bloğunun sonraki kısımlarında bu alias’ı sanki bir tabloymuş gibi çağırabilir, join işlemlerine sokabiliriz. Aynı işlemi view kullanarak da gerçekleştirebilirsiniz. […]

CHECK CONSTRAINT

Check Constraint bir kolona girilebilecek değerleri limitler. Row bazında çalışır. Null Değerlerin insert edilmesine izin verir. Aşağıdaki scriptte CheckConstraintTablo isimli bir tablo ve CheckConstraintOrnek isimli bir check constraint oluşturuyoruz. Check Constraint, kolon1 için girilen değerleri 2 den büyük olmaya, kolon2 için girilen değerleride 5 ten küçük olmaya zorluyor.   CREATE TABLE CheckConstraintTablo (kolon1 int, kolon2 int); GO ALTER […]