AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Rückgabe von Werten durch eine Stored Procedure
Thema durchsuchen
Ansicht
Themen-Optionen

Rückgabe von Werten durch eine Stored Procedure

Ein Thema von Ati · begonnen am 16. Aug 2006 · letzter Beitrag vom 16. Aug 2006
Antwort Antwort
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#1

Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:00
Datenbank: Firebird • Version: 1.5 • Zugriff über: Zeos
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
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:06
Hi,

SQL-Code:
CREATE OR ALTER PROCEUDRE CountCustomers RETURNS (iCount:Integer)
AS
BEGIN
  Select Count(*) from customers INTO :iCount;
  SUSPEND;
END^
Dann ganz normal mit

Select * from CountCustomers aufrufen.

Auf meiner Seite findest Du ein paar Tutorials (SQL,SP,...) für Firebird.

Lemmy
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#3

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:26
Vielleicht bin ich ja auch zu doof, aber ich bekomme im IBExpert die SP nicht erstellt (s.Anhang).
Miniaturansicht angehängter Grafiken
sp1_195.jpg  
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:30
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
Markus Kinzler
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:30
So, wie Lemmy das geschrieben hat, wird das auch nix

SQL-Code:
CREATE PROCEDURE CountCustomers returns (iCount integer)
AS
BEGIN
  for Select Count(*) from customers INTO :iCount do
    SUSPEND;
END
So sollte das besser gehen.
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#6

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:34
Stimmt mquadrat....so hat es funktioniert.
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:34
Zitat von mquadrat:
So, wie Lemmy das geschrieben hat, wird das auch nix
*ggg* Doch funktioniert.. Habe aber in der Deklaration aus versehen einen ":" gemacht:

SQL-Code:
CREATE OR ALTER PROCEDURE TestCount
RETURNS (iCount INTEGER)
AS
BEGIN
  SELECT Count (*) FROM THMSContact INTO :iCount;
  SUSPEND;
END^
Eine For-Do-Suspend Schleife ist nur erforderlich wenn mehr als ein Datensatz zurückgeliefert wird!

Lemmy
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:36
@Lemmy

Upsa, hab mir die Prozedur gar nicht angeschaut Stimmt bei ner Count-Query braucht man natürlich keine for...do Schleife.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 12:53
Hallo,

auch das SET TERM ist nicht notwendig (im IBExpert stored procedure editor)
sondern nur, wenn man es als Script ausführen will.


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Rückgabe von Werten durch eine Stored Procedure

  Alt 16. Aug 2006, 13:04
Zitat von hoika:
Hallo,

auch das SET TERM ist nicht notwendig (im IBExpert stored procedure editor)
sondern nur, wenn man es als Script ausführen will.


Heiko
Weil es IBExpert automatisch so ergänzt.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 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