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: | Postg윈 토토SQL : Postg윈 |
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
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 == |