Announcement

Collapse
No announcement yet.

Stored Procedure

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Stored Procedure

    Hallo,

    gibt es eine Funktion mit der man prüfen kann, ob eine SP in einer Datenbank vorhanden ist, sodaß diese bei Nichtvorhandensein angelegt werden kann ? Die Procdure ausführen und dann den Fehler abfangen halte ich nicht für sinnvoll.

  • #2
    Hallo Harald,

    über die Systemtabellen kannst Du prüfen ob eine SP vorhanden ist.

    <pre>
    select count(rdb$procedure_id) from rdb$procedures
    where upper(rdb$procedure_name) = upper(:SPNAME)
    </pre>

    Jetzt weißt Du zwar ob die SP vorhanden ist, aber das heißt ab noch lange nicht das die SP genau das macht was sie soll. Mit einem Update kann man ja jederzeit die SP ändern.

    In meinen Augen ist es sinnvoll eine Datenbankversion mitzuführen. Wenn Änderungen an den Metadaten der Datenbank vorgenommen werden (mit Hilfe eines Skripts!!!) wird die Datenbankversion entsprechend erhöht. So läßt sich einfach feststellen welche Skripte zur Aktualisierung der Datenbank notwendig sind.

    Gruß

    Torste

    Comment


    • #3
      Hallo Torsten,

      danke für die rasche Antwort. Ich schreibe individuelle Programme für eine Warenwirtschaft die mit Firebird arbeitet. Bei den SP's handelt es sich um meine eigenen. Damit man nicht manuell eingreifen muss, geht es lediglich darum beim Start zu prüfen, ob meine SP vorhanden ist. Wenn nicht, wird diese angelegt. Also nochmals danke für deine Antwort.

      Gruß Haral

      Comment


      • #4
        Hallo Leute,
        <br><br>
        nur so ein kleiner Hinweis am Rande, der vielleicht interessant sein könnte. Firebird 1.5 unterstützt die <b>CREATE OR ALTER (TRIGGER | PROCEDURE )</b> Syntax, d.h. existiert der Trigger oder die Stored Procedure nicht, dann kommt das CREATE zum Zug, sonst das ALTER.
        <br><br>
        Schöne Grüße,<br>
        Thoma
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment

        Working...
        X