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
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
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.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen