MulaiMulai sekarang secara gratis

Menulis pernyataan do

Saat membersihkan data, kita sering kali mendapatkan data dengan tanggal yang tidak valid. Hal ini dapat memicu pengecualian dan menghentikan pernyataan SQL kita; namun, dengan menggunakan fungsi DO beserta penangkap pengecualian, pernyataan kita akan tetap dijalankan sampai selesai. Mari kita lihat cara menangani jenis pengecualian tersebut menggunakan tabel patients dan kolom created_on. Ini juga memberi kita kesempatan untuk menggunakan fungsi bergaya DO.

Latihan ini adalah bagian dari kursus

Transaksi dan Penanganan Error di PostgreSQL

Lihat Kursus

Petunjuk latihan

  • Buat fungsi DO untuk mulai menangkap pengecualian.
  • BEGIN transaksi di mana Anda INSERT baris (a1c = 5.8, glucose = 89, fasting = TRUE, dan created_on = '37-03-2020 01:15:54') ke dalam patients.
  • Tambahkan penangan EXCEPTION yang memasukkan 'bad date' ke kolom detail pada tabel errors jika terjadi kesalahan.
  • Tentukan bahasa 'plpgsql'.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

-- Create a DO $$ function
____ ____
-- BEGIN a transaction block
BEGIN 
    INSERT INTO patients (a1c, glucose, fasting, created_on) 
    VALUES (____, ____, ____, '37-03-2020 01:15:54');
-- Add an EXCEPTION
___
-- For all all other type of errors
WHEN others THEN 
    INSERT INTO errors (msg, detail) 
    VALUES ('failed to insert', '____');
END;
-- Make sure to specify the language
$$ language '____';

-- Select all the errors recorded
SELECT * FROM errors;
Edit dan Jalankan Kode