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

Práce se skládanou diagnostikou

Skládaná diagnostika umožňuje získat interní chybovou zprávu PostgreSQL a podrobnosti o výjimce. Vraťme se k naší tabulce pacientů a zkusme vložit hodnotu A1C překračující testovací limit. To vyvolá výjimku porušení omezení CHECK, kterou můžeme zachytit. V obsluze výjimky pak využijeme skládanou diagnostiku k obohacení záznamu o chybě.

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

Transakce a ošetření chyb v PostgreSQL

Zobrazit kurz

Pokyny k cvičení

  • Pomocí DECLARE deklaruj dvě proměnné exc_message a exc_detail jako text.
  • Načti zásobník diagnostiky a přiřaď do exc_message hodnotu MESSAGE_TEXT a do exc_detail hodnotu PG_EXCEPTION_DETAIL.
  • Vlož exc_message a exc_detail do polí msg a detail tabulky errors.

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

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

DO $$ 
-- Declare our text variables: exc_message and exc_detail 
___
   ___ text;
   exc_detail ___;
BEGIN 
    INSERT INTO patients (a1c, glucose, fasting) 
    values (20, 89, TRUE);
EXCEPTION 
WHEN others THEN
    -- Get the exception message and detail via stacked diagnostics
	___ ___ ___ 
    	exc_message = ___,
        exc_detail = ___;
    -- Record the exception message and detail in the errors table
    INSERT INTO errors (___, detail) VALUES (exc_message, ___);
END;
$$ language 'plpgsql';

-- Select all the errors recorded
SELECT * FROM errors;
Upravit a spustit kód