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) |
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ş
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.
Yorumlar (0)
Bu gönderi için henüz yorum yapılmadı. İlk yorumu yapan sen ol.