Ergebnis 1 bis 3 von 3

Thema: Problem: EXCEPTION Handling für fehlgeschlagene decode-Funktion

  1. #1
    tvhwgt ist offline Neuer Benutzer
    Registriert seit
    08.12.2011
    Beiträge
    1

    Standard 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

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von tvhwgt Beitrag anzeigen
    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
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    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

Ähnliche Themen

  1. decode/ encode klappt nicht mehr
    Von mkuis im Forum SQL
    Antworten: 4
    Letzter Beitrag: 27.12.2010, 11:48
  2. Frage raster handling
    Von jasmin im Forum PostGIS
    Antworten: 1
    Letzter Beitrag: 20.08.2009, 10:17
  3. Check plus Funktion Problem
    Von furianer im Forum Trigger und Funktionen
    Antworten: 2
    Letzter Beitrag: 23.07.2009, 12:46
  4. Problem mit Rückgabe-Records einer Funktion
    Von Gisman im Forum PostGIS
    Antworten: 7
    Letzter Beitrag: 17.02.2009, 14:35
  5. Error handling
    Von hermesd im Forum Programmierung
    Antworten: 3
    Letzter Beitrag: 01.02.2007, 14:18

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum