Problem: EXCEPTION Handling für fehlgeschlagene decode-Funktion

Hallo, ich habe folgendes Problem. Ich möchte, daß ein fehlgeschlagener decode(…,…) Aufruf keine Postgres-Fehlerbehandlung auslöst. So dachte ich mir, schreib doch eine Postgres-Funktion, die in einem try/catch Block die decode-Funktion aufruft. Hier mein Snippet:

CREATE OR REPLACE FUNCTION decode64(data text)
RETURNS VOID AS
$BODY$
BEGIN
SELECT decode(data,‘base64’)
EXCEPTION
– mach nix
END;
$BODY$
LANGUAGE ‘sql’ IMMUTABLE;

Wenn ich o.g. ausführe, passiert das:

ERROR: syntax error at or near “SELECT”
SQL Status:42601
Zeichen:87

Was mache ich falsch?

Danke für eure Hilfe! Gruß TvH

Nach Exception sollte man noch sagen, welche man abfangen möchte. Für Dich könnte data_exception von Interesse sein.


Andreas

Ein Semikolon nach dem Befehl könnte auch nützlich sein.

Und wohin sollen die Daten eigentlich, die SELECT generiert. In deinem Beispiel suchst du eher PERFORM.