SQL Server’da Inner Join ile Delete İşlemi
Herkese merhaba,
Bu yazıda sizlere SQL Server’da Inner Join ile delete işleminin nasıl yapılacağını göstereceğim.
Yapacağımız işlemde tablolar arasında bir foreign key constraint ilişkisi mevcut değil. Aşağıdaki örneği inceleyelim.
CREATE DATABASE Ornek2 GO --Database kullanımı USE Ornek2 GO --Tabloların oluşturulması CREATE TABLE Meyveler11 ( Meyveid1 INT, Meyvead1 Varchar( 100 ) ); CREATE TABLE Meyveler22 ( Meyveid2 INT, Meyvead2 Varchar( 100 ) ); --Tabloya veri insert edilmesi işlemi Insert into Meyveler11 Values ( 1 ,'Mango' ), ( 2 , 'Üzüm' ), ( 3, 'Muz'), (4, 'Kavun'), (5, 'Portakal'); Insert into Meyveler22 Values ( 1 ,'Mango' ), ( 2 , 'Üzüm'), (3 , 'Muz' ), ( 6, 'Armut'), (7, 'Karpuz'); --Tabloların listelenmesi işlemi SELECT * FROM Meyveler11 ; SELECT * FROM Meyveler22 ; --Inner join ile silme işlemi DELETE Meyveler22 FROM Meyveler22 INNER JOIN Meyveler11 ON Meyveler11.Meyveid1 = Meyveler22.Meyveid2 --Tabloların listelenmesi SELECT * FROM Meyveler11 ; SELECT * FROM Meyveler22 ;
Burada iki adet tablomuz bulunmakta. MeyveId değerlerine göre ikinci tablodaki verilerde silme işlemi yaptık. Bu işlemi yaparken Meyveid değerlerine göre kontrol işlemi gerçekleştirdi ve sildi. İşlemin şart kısmı on kısmından sonraki kısımdır. Bu tür işlemleri yaparken Begin Tran ifadesi kullanmayı unutmayınız. Herhangi bir hata durumunda Rollback diyerek işleminizi geri alabilirsiniz. Ayrıca yazdığınız sorguları da dikkatli şekilde yazarak ve kontrol ederek ilerleyin.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.