Sql de sepete ekle uygulaması

E-ticaret sitelerinde gördüğümüz sepet işlemini veritabanı üzerinde nasıl gerçekleşiyor mini bir örnekle uygulayalım. Ms Sql Server üzerinde uyguladığımız örnek için gerekli araçlar; 1 adet database, içinde 3 tablo(Kullanıcı, Ürün, Sepet) ve bu tabloların birbirleri ile ilişkilendirilmesi.

Veritabanını ve tabloları oluşturduktan sonra ilişkilendirme işlemine geçin; Sepet tablosundaki primary key olan kullaniciid Kullanıcı tablosundaki kullaniciid ile tekrar Sepet tablosundaki primary key olan urunkod kolonunu Ürün tablosundaki urunkod kolonu ile ilişkilendirin. Uygulamayı çalıştırmak için kullanıcı ve ürün tablosuna kayıt eklemeyi unutmayın.

Sepet tablosunda iki tane primary key olduğunu dikkat etmişsinizdir. Bir tablo içinde iki veya daha fazla primary key kolon oluşturmak için tablo içinde shift tuşuna basarak primary key yapmak istediğiniz kolonların hepsini seçin sağ tuş tıklayıp primary key yapabilirsiniz.

Veritabanımız hazırsa sepete ekle uygulaması için stored procedure geçebiliriz.

[cc lang=”sql”]create proc sp_sepeteekle(@kullaniciid int, @urunid int, @adet int=1)
as set nocount on
if @kullaniciid is null or @urunid is null
return 0
else if exists(select * from tblsepet where kullaniciid=@kullaniciid and urunkod=@urunid)
update tblsepet set adet=adet+@adet where kullaniciid=@kullaniciid and urunkod=@urunid
else
insert into tblsepet values (@kullaniciid, @urunid, @adet)
set nocount off [/cc]

Aynı üründen tekrar eklediğinde sadece adet kısmı artıyor. Bu şekildeki mini sepet uygulamasından esinlenerek ileri uygulamalarınız da kullanabilirsiniz.

Procedure’ü çalıştırmak için(kullanıcı ve ürün girdiğinizi varsayarak);

[cc lang=”sql”]exec sp_sepeteekle 1,3,2[/cc]