Einzelnen Beitrag anzeigen

tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#3

AW: Stored Procedure: Rückgabewert

  Alt 12. Mär 2011, 06:09
Die zur Laufzeit erzeugte TIBCStoredProcedure Instanz ist keiner Connection bzw. Transaktion zugewiesen. Vielleicht läuft da im Hintergrund etwas Magisches ab, aber ich würde ihr explizit eine Connection und vielleicht auch eigene Transaktionskomponente zuweisen.

Mit der Verwendung von SUSPEND wird aus deiner Stored Procedure eine "Selectable" SP, obwohl du ja als solches nicht wirklich eine Ergebnismenge zurückgibst. Geht zwar, aber klarer wäre hier vielleicht eine "Executable" SP, wenn es bei dem Skalaren Wert bleibt. D.h. das SUSPEND wieder entfernen, als Executable SP darauf zugreifen (d.h. kein Open von TIBCStoredProcedure verwenden) und auf den zurückgegebenen Wert mit ParamByName zugreifen.

PS: Firebird 3 (noch weit weg), wird Stored Functions unterstützen.

Thomas
  Mit Zitat antworten Zitat