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
Petunjuk latihan
- Buat fungsi
DOuntuk mulai menangkap pengecualian. - BEGIN transaksi di mana Anda
INSERTbaris (a1c=5.8,glucose=89,fasting=TRUE, dancreated_on= '37-03-2020 01:15:54') ke dalam patients. - Tambahkan penangan
EXCEPTIONyang memasukkan'bad date'ke kolomdetailpada tabelerrorsjika 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;