In Funktion prüfen ob Zeile existiert

From: Oliver Baer <oliver(dot)baer(at)presswatch(dot)de>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: In Funktion prüfen ob Zeile existiert
Date: 2008-07-31 21:27:22
Message-ID: 48922E3A.5080400@presswatch.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo,

ich habe hier einen teil einer Postgresfunktion welche eine Tabelle updated.

...
LOOP
-- RAISE NOTICE 'notify_id %', asset_notify.notify_id;
-- RAISE NOTICE 'asset_id %', NEW.asset_id;
-- RAISE NOTICE 'label_id %', asset_notify.label_id;
INSERT INTO asset.asset_labels (label_id, asset_id, state, login_id) values (asset_notify.label_id, NEW.asset_id, -2, asset_notify.login_id);
END LOOP;
...

Das problem welches ich gerade habe ist folgendes.

Es kann sein das mit das der insert auf die tabelle fehlschlägt weil
dort schon etwas drinsteht (unique auf asset_id, label_id). Das würde
ich gerne abfangen, das heisst wenn der insert fehlschlägt soll er ein
update machen.

Leider kenne ich mit Funktionen in Postgres nicht so gut aus, vielleicht
hilft mir ja hier jemand auf die sprünge...

Ich stelle mir einfach eine IF abfrage vor:

IF insert schlägt fehl THEN update ...

Danke schonmal,

Oli

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Susanne Ebrecht 2008-08-01 14:28:58 Re: Artikel im Linux Technical Review: Datenbanken
Previous Message Andreas 'ads' Scherbaum 2008-07-28 11:11:25 == Wöchentlicher PostgreSQL Newsletter - 27. Juli 2008 ==