Kayıtlar

Mayıs, 2018 tarihine ait yayınlar gösteriliyor

SQL ROW_NUMBER() ile Tekrarlı Satırları Silmek

Resim
Merhabalar, Bugün sizlerle SQL Server'da ROW NUMBER ifadesini kullanarak tekrar eden verileri silip her bir verinin unique olmasını sağlayan SQL kodumuzu yazacağız. Özellikle veri tabanımızı oluştururken ID değerimizi identity(otomatik arttırma) özelliğimizi etkinleştirmediysek tekrar eden ID değerlerini silerken işimizi çok kolaylaştıracak bir yöntem. Aşağıdaki fotoğrafta tablomuz ve verilerimiz bulunuyor bizim istediğimiz verilerimizin tutarlılığı açısından her bir satırımızın tekrar etmeyen şekilde veri tabanımızda bulunması. SELECT *, ROW_NUMBER()OVER(PARTITION BY ID ORDER BY ID) AS RowNumber    FROM Calisan Yukarıdaki kodumuzu yazdığımızda ID'ye göre numaralandırılan yeni bir kolon oluşturuluyor. Sorgumuzu çalıştırdığımızda dönen sonuç bu şekilde oluyor. yani RowNumber değeri 1 dışında olanları silersek her tüm verilerimiz tekrarsız olacak. Yukarıda yazdığımız sorgumuzu Common Table Expression kullanarak silme işlemi gerçekleştireceğiz. Common...

Excelde Macro ile Sayfa Düzenlemek

Merhabalar, bugünkü yazımda sizlere excelde veri birleştirmesi yaparken farklı workbooklardan veri alma işleminde her workbookta aynı düzende veri girişi yapılmamış ise arada boş geçilen kolonları VBA ile silmek için yazmamız gereken kodu paylaşacağım. Sub Delete_Columns() Dim C As Integer C = ActiveSheet.Cells.SpecialCells(xlLastCell).Column Do Until C = 0 If WorksheetFunction.CountA(Columns(C)) = 0 Then Columns(C).Delete End If C = C - 1 Loop End Sub Yukarıdaki macroyu çalıştırdığımızda bulunduğumuz sayfadaki boş kolonlar otomatik olarak silinir. bu macro farklı kaynaklardan aldığımız düzensiz verileri birleştirirken işimizi oldukça kolaylaştırıyor.

Excel VBA ile Farklı Sayfalardaki Verileri Bir Sayfada Birleştirmek

Merhabalar, bugünkü yazımda sizlere daha önce farklı dosyalardan alıp ayrı ayrı sayfalara eklediğimiz excel verilerini bir sayfada birleştirmek için yazabileceğimiz kodu paylaşacağım. Sub Combine() Dim J As Integer On Error Resume Next Sheets(1).Select Worksheets.Add Sheets(2).Activate Range("A1").EntireRow.Select Selection.Copy Destination:=Sheets(1).Range("A2") 'sayfa sayısı kadar dönmeyi sağlar For J = 2 To Sheets.Count Sheets(J).Activate Range("A1").Select Selection.CurrentRegion.Select Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select ' sayfadaki son dolu hücrenin altına eklemeyi sağlar Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2) Next End Sub

Excel VBA ile Farklı Excel Dosyalarını Bir Excelde Birleştirmek

Resim
Merhabalar, bu yazımda sizlere farklı excel workbooklarını bir excel içerisinde otomatik olarak birleştirmek için yazmamız gereken kodu paylaşacağım. Öncelikle birleştireceğimiz workbookları aynı dosya içerisine atıyoruz. Yukarıdaki gibi dosyalarımızı aynı konumda birleştirdikten sonra aşağıdaki kodu yazıyoruz. Sub macro1() Dim Filename As String 'aşağıdaki yolu kendi dosyalarınızı bulunduğu yol ile değiştirin Path = "C:\Users\zülal\Desktop\Çalışma Dosyası\Çalışma Dosyası\MAKRO BİRLEŞTİR\" Filename = Dir(Path & "*.xlsx")   Do While Filename <> ""   Workbooks.Open Filename:=Path & Filename, ReadOnly:=True      For Each Sheet In ActiveWorkbook.Sheets      Sheet.Copy After:=ThisWorkbook.Sheets(1)      ' sayfa adı ile dosya adı aynı olması için yazdığımız kod      Dim LArray() As String      LArray = Split(Filename, ".")      Sheets(2).Name = LArray(0) ...

With Encryption - With Check Option - With Schemabinding Kullanımı

merhabalar, bu yazımda sizlere view ve functionlar ile birlikte kullanabileceğimiz With Encryption - With Check Option - With Schemabinding parametrelerini örneklerle açıklamaya çalışacağım. With Check Option Where filitresi ile oluşturulan viewlarda with check option kullanılmışsa o kriterin dışında bir veri view üzerinden eklenemez. create VIEW vw_kisi AS select e.FirstName,e.LastName,e.Country from Employees e where e.Country='USA' with check option where koşulunda USA olduğu için aşağıdaki view üzerinden yapılan insert işlemi gerçekleşmeyecektir. Not: insert update delete komutları tek tablolu viewlarda çalışır. joinli tablolarda iki farklı tabloya aynı anda ekleme yapmak istediği için çalışmaz. insert into vw_kisi values('zülal','US','TR') With Schemabinding Kullanıldığında oluşturulan viewda ilgili kolon kilitlenir ve  kaldırılamaz schema adı mutlaka yazılır ve schemabinding ile oluşturulan kolonlar arasına * koyulmaz mutlaka kol...

T-SQL Özel Sıralama(Order by Special)

merhabalar, bugünkü yazımda sizlere sql server üzerinde  T-SQL komutaları ile yaptığmız sorgularda sonucu  ascending veya descending yerine kendi istediğimiz özel  sıralama yaparak nasıl getirebileceğimizi anlatacağım. Bu sıralamayı oluşturabilmek için order by içerisinde case when yapısını kullanacağız.Öncelikle sıralama yapacağımız şehirler tablomuzu oluşturup tablomuzun içine farklı şehirleri ekliyoruz. create table tbl_Sehirler ( ID int primary key identity (1,1), sehir nvarchar(50) ) -- tablomuza 10 farklı şehir ekliyoruz. insert into tbl_Sehirler(sehir) values('Ankara'),('İstanbul'),('izmir'),('Kocaeli'),('Tekirdağ'),('Sakarya'),('Gaziantep'),('Konya'),('Bolu'),('Bursa') -- Şehirler Tablosundan(Ankara, İstanbul, İzmir ilk sırada gelecek şekilde alfabetik sıralayın) select * from tbl_Sehirler order by case sehir                                       ...

T-SQL Trigger(tetikleyici) Örnekleri

Merhabalar , Bu yazımda trigger örnekleriyle SQL Serverda trigger yapısını anlatmaya çalışacağım. Öncelikle Triggerın ne olduğu ile başlayalım. Triggerlar tabloya bağlı olarak yazılan ve o tabloya yapılan herhangi bir işlemden sonra yapılmasını istediğimiz işlemleri yazdığımız saklı yordamlardır. Aşağıdaki örnekler ile birlikte  kafanızda netleşeceğini umuyorum. Örneklerde Northwind veri tabanını kullanacağım. --sipariş edilen ürün kadar stoktan düşüren eğer stokta yeteri kadar ürün yoksa işlemi geri alıp yeteri kadar ürün yoktur uyarısı veren trigger. CREATE trigger [dbo].[trg_stokDusur] on [dbo].[Order Details] after insert as begin begin tran declare  @adet  int, @productID  int, @stok  int select  @adet =i.Quantity, @productID =i.ProductID from inserted i select  @stok =p.UnitsInStock from Products p where p.ProductID= @productID if( @adet <= @stok  and  @stok >0) begin update Products set UnitsInStock=UnitsInStock- @ad...