Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Skapa en DO-funktion för att initiera undantagshanteringen.
  • BEGIN en transaktion där du INSERTar raden (a1c = 5.8, glucose = 89, fasting = TRUE och created_on = '37-03-2020 01:15:54') i patients.
  • Lägg till en EXCEPTION-hanterare som infogar 'bad date' i kolumnen detail i tabellen errors vid 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;
Redigera och kör kod