With

Geçici bir sanal tablo oluşturmaya yarar. Oluşturduğunuz tablodaki veriyi, karşılaştırma yapmak için kullanabilirsiniz. Kullanım şekli: Aşağıdaki örnekte “temptable” isminde geçici bit tablo oluşturarak buna “AveragePrice” sütununu ekledim, içine de “SalesOrderDetail” tablosundaki “UnitPrice” ‘ın ortalamasını yazdım. Sonrasında normal şekilde sorumu yazdım, “SalesOrderDetail” tablosundan “ProductID” ve “UnitPrice” getir, kullanacağın tablolar (FROM) “SalesOrderDetail” ve “temptable” sonunda da karşılaştırma […]

Trigger

Triggerları yazarken düzene dikkat etmek adına (okunabilirlik) isimlendirmeyi TR_<TableName>_<ActionName> şeklinde yapmanız doğru olur. DDL: Create, Alter ve Drop işlemlerinde işlem gerçekleştikten hemen sonra devreye girerler. Kullanımı aşağıdaki gibidir. Süslü parantez (Curly Brackets) içindekiler kullanabileceğiniz seçenekler / düzenlemeniz gereken alanlardır. Örnek: Yukarıdaki kod bloğunu kaydettikten sonra aynı veritabanı/sunucu (seçiminize göre) içindeki herhangi bir tabloyu silmeye çalıştığınızda […]

Cursor

Cursor mantığını satırların arasında gezen bir imleç olarak düşünebilirsiniz. Cursor yardımıyla istenilen satıra giderek değer okuyup/değiştirebiliriz. Aşağıdaki örnekte 4 satırlı tablomdan name sütunu verilerini imleç name sütunu 1. satırından başlayıp satırı okuyup alt satıra inerek devam etme işleminin kodlarını görüyorsunuz. @@FETCH_STATUS, bir veritabanı satır fonksiyonudur, hakkında detaylı bilgiyi Satır Fonksiyonları kısmında bulabilirsiniz. değişken gibi tanımlanan […]

Satır Fonksiyonları

@@FETCH_STATUS: Bağlantıda açılmış tablodaki imlecin durumunu döndürür. Return value Description  0 FETCH deyimi başarılı. -1 FETCH deyimi başarısız oldu yada son satırdan ileride (satırın bitmesi). -2 Alınan satır eksik -9 Cursor, bir alma işlemi gerçekleştiremiyor FETCH NEXT: Bir sonraki satıra geçer. FETCH PRIOR: Bir önceki satıra geçer. FETCH LAST: En son satıra geçer. FETCH FIRST: […]

Pratik1

Basit yazılmıştır tasarım deseni yoktur, RAM’deki listeden veri filtreleme işlemi için kullanılabilir. Buna bir de Prototype Design Pattern ile düzenleyelim. nullable değerleri MVC için ekledim. Birden fazla arama değişkeninin girilebildiği yerlerde tek değerin girilmesi durumunda boş filtreler null döner.

Encapsulation

Kısayol: Ctrl + r,e Projelerde sınıflar altında güvenlik ve düzen amaçlı değişkenlere Encapsulation işlemi uygulanır. Bunun için; tanımlamalarımız yerine sınıfımız içinde private olarak tanımlamamız gerekir. Ardından buna erişebilecek olan bir değişken daha hazırlanır. get (accessor): bu değişkenin içeriğini okur, set (mutator): bu değişkene gönderilen veriyi private olana yönlendirir. Temiz kod olması için private tanımladığınız değişken […]

Lambda Expression

Python’daki lambda expression’a benzer bir yazım şekli olan, kullanım alanı Python’a göre daha kısıtlı olan kullanışlı ve hızlı çalışan bir yapıdır. Listelerdeki verileri sıralama, filtreleme, veri ile işlem yapma gibi bir çok özellikleri bulunmaktadır. c# için iki farklı yazılışı vardır. Expression Lambda: Statement Lambda: Bu yapıyı nesneler üzerinde de kolaylıkla kullanabiliriz.

Check Constraint

Tablolara eklenebilecek verilerde sınırlama yapmak amacıyla kullanılır. Bu sınırlama int veya nvarchar(##) şeklinde değil, int girilebilecek sütun için, sadece belirlenmiş sayılar arasında giriş yapılabilmesini istediğimiz durumlar için geçerlidir. Yani girilen değer sınırlamasıdır. Yeni oluşturulan tablolar için: varolan tablolar için: varolan tabloda Grade sütununda kısıtımızın sınırları dışında olan değerler varsa kısıt ekleme işlemi başarısız olur. Bunları […]

List .ForEach

Bu kullanım şekline Lambda Expression deniyor, eğer Python biliyorsanız oradaki lambda fonksiyonuna benzer bir yazımı vardır ama çalışma şekli Pythonda biraz daha kapsamlı. Elinizdeki listenin içindekileri 4 satır yerine tek satırda (3. satırdaki gibi) yazdırmak isterseniz listenizin sonuna .ForEach() methodunu ekleyebilirsiniz (hatta normal foreach’den yaklaşık 1.7 kat daha hızlı çalışır (not olarak söyleyeyim üşenmez de […]

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön