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.

SQL Server Eğitimleri Kanalına Abone Olun

Şunlar makaleler de hoşunuza gidebilir