Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Variable Anzahl an RETURNS in einer SP (https://www.delphipraxis.net/152743-variable-anzahl-returns-einer-sp.html)

Chemiker 5. Jul 2010 06:23

Datenbank: FB • Version: 2.1 • Zugriff über: FIBPLus

Variable Anzahl an RETURNS in einer SP
 
Hallo,

gibt es eine Möglichkeit in einer Stored Procedure in Firebird eine variable Anzahl an Returns zurückzugeben?

Bis bald Chemiker

Hansa 5. Jul 2010 06:30

AW: Variable Anzahl an RETURNS in einer SP
 
Schreibe doch in die Return-Klausel rein, was Du willst. Wo liegt da ein Problem ?

Chemiker 5. Jul 2010 06:36

AW: Variable Anzahl an RETURNS in einer SP
 
Hallo Hansa,

wenn ich sie reinschreibe sind sie statisch. Durch eine Abfrage innerhalb der SP wird erst die Anzahl der Returns ermittelt.

Bis bald Chemiker

Hansa 5. Jul 2010 06:43

AW: Variable Anzahl an RETURNS in einer SP
 
Ach so, Betonung liegt auf "variabel" ? Glaube kaum, dass das geht. Das S steht ja für stored, also geht es um eine gespeicherte Prozedur. Wie soll die jetzt vorher schon wissen, wieviele Parameter da irgendwann kommen können ? Allerdings : in FIBPlus gibt es diverse Zusatzparameter. Gucke mal nach @. Irgendwas war damit. :gruebel:

Sir Rufo 5. Jul 2010 07:02

AW: Variable Anzahl an RETURNS in einer SP
 
Bei MySQL und MSSQL kann man in einer SP einen SELECT ausführen.
Die SP wird dann geöffnet und nicht einfach nur ausgeführt und die Rückgabewerte sind dann in einem Dataset.

idefix2 5. Jul 2010 07:08

AW: Variable Anzahl an RETURNS in einer SP
 
Ja, das geht.
Du musst dazu in der stored procedure nach jedem einzelnen Datensatz SUSPEND aufrufen, dann kannst Du die Ergebnisse so wie bei einem normalen SELECT mittels fetch der Reihe nach abrufen.

Ob Du irgendwie das Ergebnis eines SELECT direkt zurückgeben kannst, also nicht zeilenweise und zwischen zwei Zeilen jeweils SUSPEND, weiss ich allerdings auch nicht.

hoika 5. Jul 2010 07:17

AW: Variable Anzahl an RETURNS in einer SP
 
Hallo,

ich würde dazu einfach die maximale Anzahl der Return-Parameter in die SP
und setze bei Bedarf nicht benutzt Return-Parameter auf NULL.

Sollten es eine Menge verschiedene Parameter sein,
würde ich die SP's entweder trennen oder über eine temporäre Tabelle gehen.
Der SP wird dann als Parameter ein Wert übergeben,
den er zusätzlich zu den Return-Parametern in diese Tabelle schreibt.

Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz