COMPUTER ENGINEER

Örneklere git
Blog
SQL Server / T-SQL6 dk çalışma
41/ 65

Veritabanı programlama

Stored procedure ve parametreler

Tekrarlanabilir veri işlemlerine sınır çiz.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Procedure, giriş parametreleri alıp bir veya birden çok işlem yapabilen veritabanı programıdır. SELECT sonucu, OUTPUT parametresi ve RETURN durum kodu farklı çıkış kanallarıdır. SET NOCOUNT ON etkilenen satır mesajlarını azaltır; sonuç kümesini kapatmaz.

İşlem bütünlüğü gerekiyorsa XACT_ABORT, TRY/CATCH ve transaction kapsamını tasarla. Çağıranın başlattığı transaction’a koşulsuz COMMIT veya ROLLBACK uygulamak sorun yaratabilir. Procedure otomatik olarak injection güvenliği sağlamaz: içeride metin birleştirilen dinamik SQL hâlâ risklidir. Parametre tipini sütunla uyumlu seç. Parametre sniffing bir hata adı değil, ilk değerlerin plan derlemesindeki etkisidir; ölçüm yapmadan RECOMPILE ekleme.

NERESİNDE KULLANIRSIN?

Uygulamanın parametreli rapor çağrılarını düzenlemek için.

SIK YAPILAN HATA

RETURN ile bütün bir tablo dönebileceğini sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
DECLARE @CustomerId int = 1;
SELECT OrderId, OrderDate FROM lab.SalesOrder WHERE CustomerId = @CustomerId;

Parametrenin sorgudaki kullanımını gösterir.

Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.

02 / SIRA SENDE

Önce kendin dene.

GetCustomerOrders procedure’ünü ikinci müşteri için çağır.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
EXEC lab.GetCustomerOrders @CustomerId = 2;

Procedure’ü önce oluştur. 102 ve 108 numaralı siparişler döner.