LoslegenKostenlos starten

Spezifische Ausnahmen erfassen

Erstelle eine DO-Funktion, die erfasst, wenn glucose auf null gesetzt wird, und eine Meldung protokolliert, die ausdrücklich angibt, dass Glucose nicht null sein darf.

Diese Übung ist Teil des Kurses

<Kurs>Transaktionen und Fehlerbehandlung in PostgreSQL</Kurs>
Kurs ansehen

Übungsanweisungen

  • Füge im BEGIN-Block der DO-Funktion per INSERT in patients die Zeile ein (a1c=7.5, glucose=null und fasting=TRUE).
  • Füge eine not_null_violation-Ausnahme hinzu, die im Fehlerfall "Glucose can not be null." in die Spalte detail von errors einträgt.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

-- Make a DO function
DO $$
-- Open a transaction block
BEGIN
    INSERT INTO patients (a1c, glucose, fasting) 
    VALUES (7.5, ___, TRUE);
-- Catch an Exception                                                               
EXCEPTION
	-- Make it catch not_null_constraint exception types
    WHEN ___ ___
    	-- Insert the proper msg and detail
       INSERT INTO errors (___, detail) 
       VALUES ('failed to insert', '___');
END$$;
                                                                     
-- Select all the errors recorded
SELECT * FROM errors;
Code bearbeiten und ausführen