BaşlayınÜcretsiz Başlayın

İç içe TRY...CATCH içinde hata fonksiyonlarını kullanma

Mağazana yeni elektrikli bisikletler geldi, bu yüzden stoğu güncellemen gerekiyor.

Her biri 3499.99 $ fiyatla 2 adet Trek Powerfly 5 - 2018 ve her biri 1999.99 $ fiyatla 3 adet New Power K- 2018 bisikleti teslim aldığını kaydetmek istiyorsun.

Bunların yeni modeller olduğunu düşündüğün için ürünleri veritabanına eklemeyi deniyorsun. Ancak, ilk modelin zaten stokta olduğunu unuttun. Neyse ki, products tablosunda her ürün adının benzersiz olmasını zorunlu kılan bir kısıt var.

Ekleme işlemlerinde olası hataları kontrol eden bir betik hazırlıyorsun. Ayrıca, oluşabilecek hataları errors adlı bir tabloya eklemek ve eğer hata eklenirken bir sorun olursa, hata numarasını ve hata mesajını göstermek istiyorsun.

Bu egzersiz

SQL Server'da İşlemler ve Hata Yönetimi

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Hata yakalamayı bir CATCH bloğuyla çevrele.
  • errors tablosuna 'Error inserting a product' ifadesini ekle ve bu eklemeyi başka bir TRY bloğuyla çevrele.
  • İç içe geçmiş hata yakalamayı başka bir CATCH bloğuyla çevrele.
  • İçteki CATCH bloğunda hata satırını ve hata mesajını seç.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

BEGIN TRY
    INSERT INTO products (product_name, stock, price) 
    VALUES	('Trek Powerfly 5 - 2018', 2, 3499.99),   		
    		('New Power K- 2018', 3, 1999.99)		
END TRY
-- Set up the outer CATCH block
___ ___
	SELECT 'An error occurred inserting the product!';
    -- Set up the inner TRY block
    ___ ___
    	-- Insert the error
    	INSERT INTO ___ 
        	VALUES ('Error inserting a product');
    ___ ___    
    -- Set up the inner CATCH block
    ___ ___
    	-- Show number and message error
    	SELECT 
        	___ AS line,	   
			___ AS message; 
    ___ ___    
___ ___
Kodu Düzenle ve Çalıştır