Datenbanken

Datenbanken

Posts 1-6 of 6
  • Harald Lapp
    Harald Lapp    Premium Member
    The company name is only visible to registered members.
    stored procedure: fehler gezielt auslösen
    hallo beisammen,

    ich bin gerade in der situation, dass ich innerhalb einer stored procedure (mysql) gerne gezielt einen fehler auslösen möchte, falls eine bedingung nicht erfüllt ist, sodass die anwendung diesen fehler abfangen kann.

    ich habe mich schon ein wenig umgeschaut und bin auf die verschiedensten lösungsansätze gestossen, u.a. über CALL eine nicht existente methode aufrufen und den resultierenden fehler in der anwendung abfangen.

    nun würde mich interessieren was ihr darüber denkt oder ob ihr einen besseren lösungsansatz habt?

    vielen dank & schöne grüsse,

    harald
  • Martin Schäpker
    Martin Schäpker    Premium Member
    The company name is only visible to registered members.
    Re: stored procedure: fehler gezielt auslösen
    da mysql fehlermeldung ja nicht unterstützt wäre der weg den ich da immer gehe der aufruf einer Select abfrage an eine nicht existierende tabelle, das gibt eine Fehlermeldung "unknown columm ..." zurück gegeben, diese kann man mit mysql_error() (php) auslesen und weiterverarbeiten.

    wenn man jetzt z.B. Select 'ValueNotSet' und an andere stelle Select 'valueToGreat' setzt kann man diese Fehlermeldung mit einer switch anweisung abfangen. Nicht schön aber funktoniert.
  • Lukas Gradl
    Lukas Gradl
    The company name is only visible to registered members.
    Re^2: stored procedure: fehler gezielt auslösen
    äähhhmm - mal ne neugierige Frage: Seit wann kann MySQL denn Stored Procedures? Hat es vielleicht in der Zwischenzeit auch Views und Trigger gelernt? Dann könnte man es ja fast wieder ansehen...

    Ich hab MySQL schon vor Jahren abgehakt, eben weil die das nicht können und das meiner Meinung nach eine unverzichtbare Anforderung für eine professionell eingesetzte Datenbank ist - um so mehr, als es ja durchaus gute freie Datenbanken mit vollem Funktionsumfang gibt (Firebird z.B., oder zur Not auch PostgreSQL).

    Gruß
    Luggi
  • Martin Schäpker
    Martin Schäpker    Premium Member
    The company name is only visible to registered members.
    Re^3: stored procedure: fehler gezielt auslösen
    Seit wann kann MySQL denn Stored Procedures?
    seit der 5 version glaube ich

    Hat es vielleicht in der Zwischenzeit auch Views und Trigger gelernt? Dann könnte man es ja fast wieder ansehen...
    Ja hat es
    This post was modified on 28 Jul 2009 at 12:06 pm.
  • Harald Lapp
    Harald Lapp    Premium Member
    The company name is only visible to registered members.
    Re^2: stored procedure: fehler gezielt auslösen
    Martin Schäpker schrieb:
    da mysql fehlermeldung ja nicht unterstützt wäre der weg den ich da immer gehe der aufruf einer Select abfrage an eine nicht existierende tabelle, das gibt eine Fehlermeldung "unknown columm ..." zurück gegeben, diese kann man mit mysql_error() (php) auslesen und weiterverarbeiten.
    klingt eigentlich auch ganz gut! werde das so mal ein wenig ausprobieren. vielen dank!

    harald
  • Erkan Yanar
    Erkan Yanar    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re: stored procedure: fehler gezielt auslösen
    FYI:
    Etwas "Zukunftsmusik".
    Antony Curtis hat einen Patch für MySQL mit dem man Prozeduren in Perl schreiben kann:-)
    Neben vielen tollen Erweiterungen gehen auch Errormessages (via die :-).
    http://antbits.blogspot.com/2009/04/perl-stored-procedures-f...

    Seit 6.0.11 was wohl wegen dem neuen Releasemodell eine 5.4.x wird, gibt es SIGNAL, dann braucht man keine Würgarounds mehr :-)

    Für alle Mutigen natürlich keine Zukunftsmusik. Hiermit will ich auch Werbung für Antony Curtis machen!