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

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

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

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ı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

-- 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