MSSQL de Stored Procedure İle CRUD İşlemler

MSSQL de Stored Procedure İle CRUD İşlemler

Stored Procedure'ler uygulama ile bağlantı sağlayan veritabanı objeleridir. Google Translate "Saklı Yordam" olarak çevirdi. Açıkçası bende bu yazıyı yazarken öğrendim Türkçesini :)

Yapılan testler gösteriyor ki Stored Procedure'ler, Entity Framework gibi ORM yapılarına göre veya diğer bağlantı türlerine göre yüksek performansla çalışır. Her ne kadar proje büyüdükçe yönetimi zor olsa da sağladığı performans için tercih edilmesi gerekir diye düşünüyorum.

Bu yazımda sizlere bir örnek tablo üzerinden Stored Procedure'lerde CRUD işlemleri anlatacağım.

 

Tablomuz

Sütun Adı Tür
ID int
FirstName nvarchar(50)
LastName nvarchar(50)
Email nvarchar(50)
Password nvarchar(32)

 

Tablomuzun adı "Customer" olsun. Sırasıyla prosedürleri yazmaya başlayalım. Dipnot olarak belirteyim ID primary key ve auto increment özelliği açık olarak prosedürleri yazacağım. Insert sorgusunda ID kullanılmayacaktır.

 

CREATE

create procedure SP_InsertCustomer 
as
insert into Customer
(FirstName, LastName, Email, Password)
values
('Larry', 'Ellison', '[email protected]', 'larry44')

"SP_InsertCustomer" prosedüre verilen isimdir. Prosedürler standardı gereği "SP_" veya "sp_" ön eki ile yazılır. Zorunluluk değil standarttır. Prosedür adından sonra "as" sözcüğü eklemek zorunludur. Kodun geri kalanı da bildiğimiz insert sorgusudur.

 

READ

create procedure SP_GetCustomerByEmail 
as
select * from Customer
where Email = '[email protected]'

"SP_GetCustomerByEmail" prosedürü ile Email bilgisi '[email protected]' olan kullanıcı elde edildi.

UPDATE

create procedure SP_UpdateCustomerPassword 
as
update Customer
set Password = 'ellison44'
where Email = '[email protected]'

"SP_UpdateCustomerPassword" prosedürü ile Email bilgisi '[email protected]' olan kullanıcının Password bilgisi güncellendi.

 

DELETE

create procedure SP_DeleteCustomer 
as
delete from Customer
where Email = '[email protected]'

"SP_DeleteCustomer" prosedürü ile Email bilgisi '[email protected]' olan kullanıcı Customer tablosundan silindi.

Sonuç olarak Stored Procedure'ler görüldüğü üzere bildiğimiz CRUD sorguları kullanılarak yazılan, syntax'ı biraz farklı olan, işlemleri yüksek performans ile gerçekleştiren veritabanı objeleridir. Sorularınız ve görüşleriniz için hemen alttaki yorum alanından veya buradan bana yazabilirsiniz.

 

Sevgiyle Kalın


 Paylaş

 Yorumlar (0)

Bu gönderi için henüz yorum yapılmadı. İlk yorumu yapan sen ol.


 Yorum Yap

Bu gönderi hakkında sorularınızı, görüşlerinizi veya eleştirilerinizi benimle paylaşabilirsiniz. Email adresiniz kimseyle paylaşılmayacaktır.