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

Belirli istisnaları yakalama

Glucose alanı null olarak ayarlandığında bunu yakalayan ve Glucose alanının null olamayacağını açıkça belirten bir mesajı günlükleyen bir DO fonksiyonu yazalım.

Bu egzersiz, kursun bir parçasıdır

PostgreSQL'de İşlemler (Transaction) ve Hata Yönetimi

Kursa Göz Atın

Egzersiz talimatları

  • DO fonksiyonunun BEGIN bloğunun içine, patients tablosuna (a1c=7.5, glucose=null ve fasting=TRUE) satırını INSERT et.
  • Hata durumunda errors tablosunun detail sütununa "Glucose can not be null." ekleyen bir not_null_violation istisnası ekle.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

-- Make a DO function
DO $$
-- Open a transaction block
BEGIN
    INSERT INTO patients (a1c, glucose, fasting) 
    VALUES (7.5, ___, TRUE);
-- Catch an Exception                                                               
EXCEPTION
	-- Make it catch not_null_constraint exception types
    WHEN ___ ___
    	-- Insert the proper msg and detail
       INSERT INTO errors (___, detail) 
       VALUES ('failed to insert', '___');
END$$;
                                                                     
-- Select all the errors recorded
SELECT * FROM errors;
Kodu Düzenle ve Çalıştır