ÎncepețiÎncepe gratuit

Scrierea instrucțiunilor DO

Atunci când curățăm date, întâlnim adesea valori cu date calendaristice incorecte. Acestea ar provoca o excepție și ar opri execuția instrucțiunii SQL. Totuși, folosind o funcție DO cu un handler de excepții, instrucțiunea va rula până la final. Hai să vedem cum putem gestiona acest tip de excepție cu ajutorul tabelei patients și al coloanei created_on. Aceasta ne oferă și ocazia de a folosi o funcție de tip DO.

Acest exercițiu face parte din cursul

Tranzacții și gestionarea erorilor în PostgreSQL

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o funcție DO pentru a iniția interceptarea unei excepții.
  • Începe o tranzacție cu BEGIN, în care faci INSERT pe rândul (a1c = 5.8, glucose = 89, fasting = TRUE, și created_on = '37-03-2020 01:15:54') în tabela patients.
  • Adaugă un handler EXCEPTION care inserează 'bad date' în coloana detail a tabelei errors în cazul unei erori.
  • Specifică limbajul 'plpgsql'.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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;
Editează și rulează codul