Announcement

Collapse
No announcement yet.

Insert-StoredProcedure in Delphi

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

  • Insert-StoredProcedure in Delphi

    Hallo,

    ich habe mal testweise eine StoredProcedure für den Firebird geschrieben (FB 2.1.3) und im SQL-Editor soweit getestet - äähhh, wie rufe ich die denn jetzt in Delphi auf? Es werden ja nur Daten übergeben, gespeichert und nix kommt zurück (wahrscheinlich mit ParamsByName). Muss da noch ein Commit hinterher oder kann man das auch in der SP erledigen?

    Ich benutze die FIBPlus-Komponenten.

    Hier ist die Procedure:

    CREATE PROCEDURE PROCEDURE_INSERT_WAEBWG (
    KID INTEGER,
    MID_E INTEGER,
    MID_A INTEGER,
    WID INTEGER,
    ANZAHL DECIMAL(15,2),
    ADATUMSYS DATE
    )
    AS
    BEGIN
    INSERT INTO WAEBEWEGUNGEN
    (KID,MID_E,MID_A,WID,ANZAHL,ADATUMSYS)
    VALUES
    (:KID,:MID_E,:MID_A,:WID,:ANZAHL,:ADATUMSYS);
    SUSPEND;
    END
    ;

  • #2
    mit FIBStoredProc.ExecProc.

    alex

    Comment


    • #3
      Ich würde noch einen Statuscode zurückgeben. Dann könntest du diese auch per Select aufrufen.

      Comment


      • #4
        Hallo Alex,

        tja, wenn immer alles so einfach ist...danke!

        Hallo Markus,

        Statuscode hört sich gut an - aber wie generiere ich denn eine Rückmeldung?

        Hartmut

        Comment


        • #5
          Hallo,

          Du benötigst in der SP ein SUSPEND, wenn du vom Client aus per SELECT * FROM SP darauf zugreifen möchtest und entsprechend eine Ergebnismenge erwartest.

          In deinem Fall, bei einem einfachen INSERT brauchst du kein SUSPEND (obwohl es in deinem Fall keinen neg. Auswirkungen hat), weil ja eh nix ala Ergebnismenge zurückgegeben wird.

          Ein ExecProc wird vermutlich ein EXECUTE PROCEDURE im Hintergrund aufrufen. Hierbei sollte eigentlich nie SUSPEND in der SP verwendet werden, da SUSPEND die Ausführung der SP so lange unterbricht, bis der Client den "Datensatz", der von der SP zurückgeliefert wird, per Fetch abholt.
          Thomas Steinmaurer

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

          Comment

          Working...
          X