Parametrelerle THROW
staff tablosundan verilen bir staff_id ile bir çalışanın tüm bilgilerini seçmek için bir betik hazırlaman gerekiyor.
SELECT ifadesi herhangi bir çalışan bulamazsa, THROW deyimini kullanarak bir hata fırlatmak istiyorsun. Bu kimliğe sahip bir personel olmadığı konusunda uyarman gerekiyor.
Bu egzersiz, kursun bir parçasıdır
SQL Server'da İşlemler ve Hata Yönetimi
Egzersiz talimatları
THROWdeyimini 50001 hata numarası, mesaj metni olarak 'No staff member with such id' ve durum (state) olarak 1 ile kullan.- Başta yer alan
DECLAREdeyimindeki@staff_iddeğerini mevcut olmayan bir tanımlayıcıyla değiştir (ör. '45') ve Kodu Çalıştır düğmesine tıkla (Run Solution değil). Hata mesajını göreceksin. @staff_iddeğerini tekrar 4 olarak ayarla ve kodu hatasız çalıştır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
DECLARE @staff_id INT = 4;
IF NOT EXISTS (SELECT * FROM staff WHERE staff_id = @staff_id)
-- Invoke the THROW statement with parameters
___ ___, '___', ___;
ELSE
SELECT * FROM staff WHERE staff_id = @staff_id