Začněte nyníZačněte zdarma

Psaní příkazů DO

Při čištění dat se často setkáme s neplatnými daty, která způsobí výjimku a přeruší SQL příkaz. Pokud ale použijeme funkci DO s obslužným blokem výjimky, příkaz se dokončí celý. Podíváme se, jak takovou výjimku ošetřit pomocí tabulky patients a sloupce created_on – a zároveň si vyzkoušíme funkci DO.

Toto cvičení je součástí kurzu

Transakce a ošetření chyb v PostgreSQL

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř funkci DO pro zahájení zachytávání výjimky.
  • Pomocí BEGIN spusť transakci, ve které INSERTuješ řádek (a1c = 5.8, glucose = 89, fasting = TRUE a created_on = '37-03-2020 01:15:54') do tabulky patients.
  • Přidej obslužný blok EXCEPTION, který v případě chyby vloží hodnotu 'bad date' do sloupce detail tabulky errors.
  • Zadej jazyk 'plpgsql'.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- 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;
Upravit a spustit kód