MulaiMulai sekarang secara gratis

Menangkap exception spesifik

Mari membangun fungsi DO yang menangkap saat nilai glucose disetel menjadi null, dan mencatat pesan yang menyatakan secara eksplisit bahwa Glucose tidak boleh bernilai null.

Latihan ini adalah bagian dari kursus

Transaksi dan Penanganan Error di PostgreSQL

Lihat Kursus

Petunjuk latihan

  • Di dalam blok BEGIN pada fungsi DO, lakukan INSERT ke patients dengan baris (a1c=7.5, glucose=null, dan fasting= TRUE).
  • Tambahkan exception not_null_violation yang menyisipkan "Glucose can not be null." ke kolom detail pada tabel errors jika terjadi kesalahan.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

-- 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;
Edit dan Jalankan Kode