Datenbank: Firebird • Version: 1.5 • Zugriff über: Zeos
Rückgabe von Werten durch eine Stored Procedure
Hallo zusammen,
durch einen anderen Thread beschäftige ich mich zur Zeit mit SP´s. Eine einfache SP zum Updaten von Datensätzen habe ich mittlerweile hinbekommen (läuft unter Lazarus nunmal etwas anders). Aber wie erhalte/verarbeite ich Werte, welche die SP zurückgeben soll. Wollte mal als einfaches Beispiel alle Datensätze zählen lassen. Ati |
Re: Rückgabe von Werten durch eine Stored Procedure
Hi,
SQL-Code:
Dann ganz normal mit
CREATE OR ALTER PROCEUDRE CountCustomers RETURNS (iCount:Integer)
AS BEGIN Select Count(*) from customers INTO :iCount; SUSPEND; END^
SQL-Code:
aufrufen.
Select * from CountCustomers
Auf meiner Seite findest Du ein paar Tutorials (SQL,SP,...) für Firebird. Lemmy |
Re: Rückgabe von Werten durch eine Stored Procedure
Liste der Anhänge anzeigen (Anzahl: 1)
Vielleicht bin ich ja auch zu doof, aber ich bekomme im IBExpert die SP nicht erstellt (s.Anhang).
|
Re: Rückgabe von Werten durch eine Stored Procedure
Du mußt das Terminierungszeichen für das Skript auf was anderes wie Semikolon setzten, das FB erkennt was zum Skript und was zur Procedure gehört. Einfach am Anfang
SET TERM !! ; und am Schluß SET TERM ; !! setzen |
Re: Rückgabe von Werten durch eine Stored Procedure
So, wie Lemmy das geschrieben hat, wird das auch nix ;)
SQL-Code:
So sollte das besser gehen.
CREATE PROCEDURE CountCustomers returns (iCount integer)
AS BEGIN for Select Count(*) from customers INTO :iCount do SUSPEND; END |
Re: Rückgabe von Werten durch eine Stored Procedure
Stimmt mquadrat....so hat es funktioniert.
|
Re: Rückgabe von Werten durch eine Stored Procedure
Zitat:
SQL-Code:
Eine For-Do-Suspend Schleife ist nur erforderlich wenn mehr als ein Datensatz zurückgeliefert wird!
CREATE OR ALTER PROCEDURE TestCount
RETURNS (iCount INTEGER) AS BEGIN SELECT Count (*) FROM THMSContact INTO :iCount; SUSPEND; END^ Lemmy |
Re: Rückgabe von Werten durch eine Stored Procedure
@Lemmy
Upsa, hab mir die Prozedur gar nicht angeschaut :D Stimmt bei ner Count-Query braucht man natürlich keine for...do Schleife. |
Re: Rückgabe von Werten durch eine Stored Procedure
Hallo,
auch das SET TERM ist nicht notwendig (im IBExpert stored procedure editor) sondern nur, wenn man es als Script ausführen will. Heiko |
Re: Rückgabe von Werten durch eine Stored Procedure
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:09 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