TRY...CATCH yapılarını iç içe kullanma
buyers tablosuna yeni bir alıcı kaydetmek istiyorsun. Yeni alıcının adı Peter Thomson. E-postası [email protected] ve telefon numarası 555000100.
Veritabanında ayrıca her hatanın saklandığı errors adlı bir tablo var.
Bu kişinin verilerini eklerken oluşabilecek hataları kontrol eden bir betik hazırlıyorsun. Aynı zamanda bu hataları errors tablosuna da ekliyor.
Betik nasıl hazırlanmalı?
Bu egzersiz
SQL Server'da İşlemler ve Hata Yönetimi
kursunun bir parçasıdırEgzersiz talimatları
INSERT INTO buyersdeyimini birTRYbloğu ile çevrele.- Hata yakalamayı bir
CATCHbloğu ile çevrele. INSERT INTO errorsdeyimini başka birTRYbloğu ile çevrele.- İç içe hata yakalamayı başka bir
CATCHbloğu ile çevrele.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
-- Set up the first TRY block
___ ___
INSERT INTO buyers (first_name, last_name, email, phone)
VALUES ('Peter', 'Thompson', '[email protected]', '555000100');
___ ___
-- Set up the first CATCH block
___ ___
SELECT 'An error occurred inserting the buyer! You are in the first CATCH block';
-- Set up the nested TRY block
___ ___
INSERT INTO errors
VALUES ('Error inserting a buyer');
SELECT 'Error inserted correctly!';
___ ___
-- Set up the nested CATCH block
___ ___
SELECT 'An error occurred inserting the error! You are in the nested CATCH block';
___ ___
___ ___