Pazartesi , 20 Kasım 2017

SQL Server Development

SQL Serverda Bilinçsiz Tür Dönüşümü İşleminin Performansa Etkisi

Benzer olmayan veri tipine sahip verileri karşılaştırmak için SQL Server’ın öncelikle verileri ortak bir türe dönüştürmesi gerekir. Tip dönüşümü iki şekilde yapılabilir. İlk olarak Cast, Convert ve Parse gibi fonksiyonları kullanarak yapılan bilinçli tür dönüşümleri(Explicit Conversion) iken diğer türü ise biz açıkca belirtmememize rağmen SQL Server’ın veriler üzerinde yaptığı bilinçsiz tür dönüşümü (Implicit Conversion) işlemidir. Her iki tür dönüşümü de ... Devamını Oku »

Connection String’lerde Kullanılan Persist Security Info ve Integrated Security Özelikleri

Programatik olarak SQL Server gibi bir veri kaynağına bağlanma ihtiyacımız olduğunda veri kaynağına ait bağlantı bilgilerinin tutulduğu objelere Connection String yani bağlantı cümleleri diyoruz. Connection String içinde SQL Servera bağlanmak için gereken ve hassas(sensitive) veri dedğimiz kullanıcı adı ve password bilgilerini de barındırabilmektedir. Bu nedenle Connection String oluştururken hassas verilerin güvenliğinin sağlanması için Persist Security Info ve Integrated Security adında ... Devamını Oku »

Olusturdugumuz Stored Procedure’lere Tüm Veritabanlarindan Erisebilmek

SQL Serverda Stored Procedure, fonksiyon gibi objeler veritabanı seviyesinde olup sadece oluşturulduğu veritabanında kullanılabilirler. Eğer farklı bir veritabanına bağlı iken başka bir veritabanındaki objeye erişmek istersek ilgili objenin adının başına veritabanı adını da eklememiz gerekiyor. Aksi takdirde “Invalid object name ‘%.*ls’” hatasını alırız. Fakat özellikle SQL Serverın built-in sistem stored procedure ve fonksiyonlarını çalıştırırken veritabanı adı vermeksizin herhangi bir veritabnından ... Devamını Oku »

SQL Server 2012 Format Fonksiyonu

SQL Server üzerinde çalışan hemen hemen herkes verilerin formatlarını değiştirme ihtiyacı duyar. Örneğin Türkiye’de tarih verileriyle çalışırken SQL Server’ın bize verdiği formattan farklı olarak yıl,ay,gün formatında değil de ay,gün,yıl gibi bir formata verileri dönüştürme ihtiyacı duyarız. Bu gibi durumlarda Convert fonksiyonunu bizim işimizi görecektir. Bildiğiniz gibi Convert fonksiyonunu format parametresini kullanırken bir tane nümerik format numarası belirtmemiz gerekir. Örneğin aşağıdaki ... Devamını Oku »

Stored Procedure’lerin Çağrılma Sayısının Bulunması

SQL Server üzerinde optimizasyon çalışması yapılmak istendiğinde en önemli adımlardan bir tanesi de çok fazla çağrılan Stored Procedure ve Function gibi SQL Server objelerinin bulunup bunlar üzerinde optimizasyon çalışması yapılmasıdır.Aslında doğrudan bir Stored Procedure’un kaç defa çağrıldığı bilgisi SQL Server’da tutulmamasına rağmen bildiğiniz gibi Stored Procedure ve Function gibi objelerin Execution planları SQL serverda saklanmaktadır. Bu durumda istediğimiz bir Stored ... Devamını Oku »

Trigger’larımızda COLUMNS_UPDATED() Fonksiyonun Kullanımı

Update işlemleri için bir trigger yazdığımızda UPDATE() fonksiyonunu kullanarak bir kolonun değerinin değişip değişmediğini yani ilgili kolonun update olup olmadığını anlayabiliyorduk. Çünkü Update() fonksiyonu parametre olarak bir kolon adı alıyor ve triggerımızı tetikleyen işlemde o kolonun değerinin değişip değişmediğini kontrol ederek eğer değer değişmişse True değişmemişse False değerini döndürüyordu. Fakat bazı durumlarda sadece bir kolonun değerini değil aynı andan birden ... Devamını Oku »

T-SQL Pivot Komutu Kullanımı

Group by komutunu kullanarak verilerilerimizi satır bazında gruplayabiliyoruz. Fakat bazı durumlarda bu satır bilgilerinin sütuna dönüştürmesi istenmektedir. İşte bu gibi durumlarda sorgu sonucumuzda dönen kayıt setinin satırlarını sütuna çevirme tekniğine pivot tablo denmektedir. Özellikle raporlama kısmında çok fazla kullanılan pivot tablolar verilerin en özet halini sunmaktadır. Örneğin siparişler tablosundaki verilerimizi yıllara göre gruplayıp toplam ne kadar satış yaptığımız özetleyecek olursak ... Devamını Oku »

T-SQL ile Gruplanan Değerlerin Çarpılması

Group By operatörünü kullanarak Sum, Count, Min ve Max gibi Aggregation(Gruplama) fonksiyonlarını kullanabiliyoruz. Fakat bazı durumlarda gruplanacak değerlerin Sum gibi bir fonksiyon ile toplanması değil değerlerin çarpılması şeklinde gruplanması gerekebiliyor. Bu ihtiyacı karşılayacak herhangi bir SQL Server built-in fonksiyonu da maalesef henüz SQL Server kütüphanesinde yok. Böyle bir ihtiyaç için bir tane Aggregation fonksiyonu olmamasına rağmen gruplanacak değerlerin çarpılması işlemi ... Devamını Oku »