Skriva DO-satser
Vid datarensning stöter vi ofta på ogiltiga datum, vilket orsakar ett undantag och avbryter SQL-satsen. Genom att använda en DO-funktion med en undantagshanterare kan satsen köras till slut. Låt oss se hur vi hanterar den typen av undantag med tabellen patients och kolumnen created_on. Det ger oss också tillfälle att använda en funktion i DO-stil.
Den här övningen är en del av kursen
Transaktioner och felhantering i PostgreSQL
Övningsinstruktioner
- Skapa en
DO-funktion för att initiera undantagshanteringen. - BEGIN en transaktion där du
INSERTar raden (a1c=5.8,glucose=89,fasting=TRUEochcreated_on= '37-03-2020 01:15:54') i patients. - Lägg till en
EXCEPTION-hanterare som infogar'bad date'i kolumnendetaili tabellenerrorsvid ett fel. - Ange språket
'plpgsql'.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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;