Sql Common Table Expressions (CTE) Kullanımı
Tablolar üzerinde karmaşık sorgular yaparken, Common Table Expressions (CTE) kullanırız. Cte, sorguların okunabilirliğini ve bakımını kolaylaştırırken performans optimizasyonu için de önemlidir. Bir kere derlenen kodlar sorgunun istenilen yerinde defalarca kullanılabilir. Aslında bu yönden geçici tablolara benziyor diyebiliriz (temp) ama özellikle ram tüketimi açısından cte kullanmanın daha iyi olduğunu söyleyebiliriz. Çünkü geçici tablolar sorgu bitinceye kadar […]
SQL Soft Delete İşlemi
Normalde bir sql tablosunda veri sildiğinizde bu veriye ulaşmazsınız ve geri almak için gerekli ayarlar(recovery model; full, bulk logged) yapıldıysa bile bu biraz uğraştırabilir. Bu yüzden veri kaybından korunmak için çeşitli yöntemler kullanılır. Bu yöntemlerden biri, özellikle hassas veriler içeren tablolarda veri kaybından korunmak için kullanılan soft delete(table düzeyinde) işlemini açıklamaya çalışacağım. Mevcut tablomuza “isDelete” […]
canias test veritabanı oluşturma
Canias’ta mssql ve iasdb olarak belirtilen postgresql olmak üzere iki türlü veritabanı kullanılıyor genellikle. Birbirine çok benzer olsa da bazı farklılıklar bulunuyor. Şimdi bu iki farklı veritabanı için test veritabanı nasıl oluşturuyor inceleyelim. İkisinde de öncelikle bir backup alıyoruz veritabanından bunun için hem iasdb hem de mssql’de backup almak istediğimiz veritabanının üzerine gelip sağ tıklayarak […]
SQL iki tarih arasındaki farkın bulunması
Aşağıdaki linkte nasıl yükleneceğinden bahsettiğimiz veritabanımız üzerinde [Purchasing].[PurchaseOrderHeader] tablosunda işlemlerimiz gerçekleştireceğiz. Örnek veritabanı yüklemesi http://www.blog.saydogmus.com/2022/03/30/157/ use AdventureWorks2019 /* hangi veritabanını kullanacağız */ select * from Purchasing.PurchaseOrderHeader /* tablomuzu çağırıyoruz */ İki tarih arasındaki farkı bulmak için Datediff fonksiyonunu kullanıyoruz. Ay, gün, saat hangi tip istiyorsak bunu belirtiyoruz. SELECT DATEDIFF(day, OrderDate, ShipDate) from Purchasing.PurchaseOrderHeader /* gün […]
sql örnek veritabanı yüklemesi
Eğer hazır tablolarınız yoksa MSSQL Server’da kodlama denemeleri yapmak için tablolara oluşturmanız ve sürekli güncellemeler yapmak gerekebilir bu yüzden hazır tabloları kullanıyoruz. Hazır tabloları içeren veritabanlarından popüler olan AdventureWorks nasıl yüklenir birlikte bakalım. Öncelikle linkten AdventureWorks2019 dosyasını indiriyoruz. https://docs.microsoft.com/en-us/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=ssms Databases kısmına sağ tıklayıp restore db tıklayarak detayda bak dosyamızı seçerek OK deyip ilerliyoruz. İşlem tamamlandığında […]
sql exists kullanımı
If else yapısına sahip olsa da bazen tek sorguda kontrol yapıp sorgulama yapmak isteyebilirsiniz. Böyle durumlarda exists fonksiyonu imdadınıza yetişecektir. Nasıl kullanılır inceleyelim. Öncelikle test veritabanı yüklü değilse, linkte tarif edildiği gibi yükleyebilirsiniz. http://www.blog.saydogmus.com/2022/03/30/157/ Sonrasında örnek veritabanından bir tablo seçiyoruz. Benim tercihim [AdventureWorks2019].[Person].[Person] tablosu. Person tablosunda bir isim aratttıralım eğer varsa sorguyu çalıştır diyelim. Öncelikle […]
sql server komut türleri
SQL komutları direktiflerdir. Veri tabanı ile iletişim kurmak için kullanılır. Ayrıca belirli görevleri, işlevleri ve veri sorgularını gerçekleştirmek için kullanılır. SQL bir tablo oluşturmak, tablolara veri eklemek, tabloyu silmek, tabloyu değiştirmek, kullanıcılar için izin ayarlamak gibi çeşitli işlemleri gerçekleştirebilir. 1. Data definition language (DDL) *DDL, tablonun yapısını, tablo oluşturma, tabloyu silme, tabloyu değiştirme vb. Gibi […]