From b3cbd3875f10b739fe09427d2540e165b701871a Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Thu, 14 Dec 2023 09:37:47 +0100 Subject: [PATCH] =?UTF-8?q?Beispiele=207.12.2023:=20Korrektur=20der=20Einr?= =?UTF-8?q?=C3=BCckung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20231207/trigger-01.txt | 10 +++++++--- 20231207/trigger-03.txt | 10 ++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/20231207/trigger-01.txt b/20231207/trigger-01.txt index b47a7d9..25f505a 100644 --- a/20231207/trigger-01.txt +++ b/20231207/trigger-01.txt @@ -51,9 +51,13 @@ testdb-> ; FEHLER: Syntaxfehler bei »if« ZEILE 2: if new.balance <> old.balance then ^ -testdb=> create function log_change () returns trigger language plpgsql as $$ begin if new.balance <> old.balance then insert into log_change (account_id, change, datetime) values (old.id, new.balance - old.balance, now ()); -end if; -return new; +testdb=> create function log_change () returns trigger language plpgsql as $$ +begin + if new.balance <> old.balance then + insert into log_change (account_id, change, datetime) + values (old.id, new.balance - old.balance, now ()); + end if; + return new; end; $$ ; diff --git a/20231207/trigger-03.txt b/20231207/trigger-03.txt index 0c307ff..6c266e6 100644 --- a/20231207/trigger-03.txt +++ b/20231207/trigger-03.txt @@ -10,10 +10,12 @@ FEHLER: kann Funktion log_change() nicht löschen, weil andere Objekte davon ab DETAIL: Trigger after_update_account für Tabelle account hängt von Funktion log_change() ab TIP: Verwenden Sie DROP ... CASCADE, um die abhängigen Objekte ebenfalls zu löschen. testdb=> create or replace function log_change () returns trigger language plpgsql as $$ -begin if new.balance <> old.balance then - insert into account_log (account_id, change, datetime) values (old.id, new.balance - old.balance, now ()); -end if; -return new; +begin + if new.balance <> old.balance then + insert into account_log (account_id, change, datetime) + values (old.id, new.balance - old.balance, now ()); + end if; + return new; end; $$ ; -- GitLab