MSSQL DE STORED PROCEDURE'LER İLE CRUD İŞLEMLER

Microsoft SQL Server Backup Diagram

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 Entity Framework gibi ORM yapıları veya diğer bağlantı türlerine göre çok daha hızlı performans sunar. 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
IDint
FirstNamenvarchar(50)
LastNamenvarchar(50)
Emailnvarchar(50)
Passwordnvarchar(32)

Tablomuzun adı Customer olsun. Sırayla prosedürleri yazmaya başlayalım. Dipnot olarak belirteyim ID primary key ve auto increment özelliği açık olarak prosedürleri yazacağım. Bundan dolayı insert sorgusunda ID kullanmayacağım.

C-REATE

create procedure SP_InsertCustomer 
as
insert into Customer
(FirstName, LastName, Email, Password)
values
('Larry', 'Ellison', 'larryellison@oracle.com', '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.

R-EAD

create procedure SP_GetCustomerByEmail 
as
select * from Customer
where Email = 'larryellison@oracle.com'

"SP_GetCustomerByEmail" prosedürü ile Email bilgisi 'larryellison@oracle.com' olan kullanıcı elde edildi.





U-PDATE

create procedure SP_UpdateCustomerPassword 
as
update Customer
set Password = 'ellison44'
where Email = 'larryellison@oracle.com'

"SP_UpdateCustomerPassword" prosedürü ile Email bilgisi 'larryellison@oracle.com' olan kullanıcının Password bilgisi güncellendi.

D-ELETE

create procedure SP_DeleteCustomer 
as
delete from Customer
where Email = 'larryellison@oracle.com'

"SP_DeleteCustomer" prosedürü ile Email bilgisi 'larryellison@oracle.com' 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.

Bu gönderiyi paylaşın


Yorumlar (0)

Yorum Yapın