Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tutorial zu StoredProcedures gesucht (https://www.delphipraxis.net/19158-tutorial-zu-storedprocedures-gesucht.html)

Nightfly 30. Mär 2004 10:30


Tutorial zu StoredProcedures gesucht
 
Ich hab jetzt schon,mit viel hilfe,einige mehr schlecht als recht zusammengekleistert. In erster Linie dienen diese Prozeduren dazu,aus einer Tabelle mit Rechnungen die verschiedensten Summen zu bilden und eine schöne auswertungstabelle auszugeben. Aber ich kann ja nicht jedes mal um Hilfe fragen.

Leider sind weder das SQL Kompendium von MArkt und Technik, noch "Interbase mit Delphi" eine große hilfe :(

Hat von euch vlt. einer nen link?

Aktuelles Problem:

Die Prozedur soll machen:

Schaue,ob es zum aktuellen datensatz in Tabelle A einen korrespondierenden in Tabelle B gibt. wenn ja,entscheide an hand eines Bool Feldes in tabelle b. ist dieses wahr, summiere bestimmte datensätze aus a auf, andernfalls subtrahiere...

Generalissimo 30. Mär 2004 11:25

Re: Tutorial zu StoredProcedures gesucht
 
Hi also da kann ich dir die Interbase-Doku empfehlen

http://www.ibphoenix.com/downloads/60ApiGuide.zip
(1.6 MB) Dort speziell der Developers Guide

Da steht das ziemlich gut beschrieben bzw. schau dich mal unter
http://www.ibphoenix.com um. Dort gibts ne Menge.

zu der anderen Sache: Probier mal folgendes:

SQL-Code:
CREATE PROCEDURE TEST
RETURNS (ERGEBNIS INTEGER)
AS
DECLARE VARIABLE Varible_Boolfeld SMALLINT;
begin
  /* Procedure Text */
  select b.boolfeld from tableB b
  join tableA a on a.id=b.id
  into :Variable_Boolfeld;

  If (:Variable_Boolfeld =1) then
  begin
    /* aufsummieren */
  end
  Else
  begin
     /* subtrahieren */
  end;
end
Wie das subtrahieren per Funktion geht hab ich keine Ahnung. Mal bissl im DevGuide suchen.

Nightfly 30. Mär 2004 14:26

Re: Tutorial zu StoredProcedures gesucht
 
danke,das hilft mir schonmal weiter.

Noch ne frage: meine Prozedur heißt auswertung, und verlangt zwei eingabewerte.

Wie kann ich IN meiner Prozedur auf vorangegangene Datensätze zugreifen? Schwer zu beschreiben was ich will.
Alo, die Prozedur ist fast bis zum ende abgearbeitet. nun will ich quasi ein select * from auswertung where bedingung (KEIN rekursiver aufruf,einfach eine Zeile die schon berechnet ist)

geht das?

Generalissimo 30. Mär 2004 17:18

Re: Tutorial zu StoredProcedures gesucht
 
Also ne Prozedure aus ner anderen aufrufen geht so:

SQL-Code:
execute procedure xxx 1,2,..,n ;
xxx = SP-Name
1,2,..,n = Eingabeparameter

Wenn du jetzt nur den letzten Datensatz haben willst, d.h. den Vorgänger des gerade bearbeiteten
Datensatz kannst du das mit

SQL-Code:
For
  Select
  into
 do
machen. Dabei musst du mit Variablen arbeiten in dennen der Vorgänger zwischengespeichert wird.
Sonst wären noch Temptabellen eine Idee.

Lemmy 31. Mär 2004 06:34

Re: Tutorial zu StoredProcedures gesucht
 
Hi,

schau DIch mal auf meiner Seite um, da habe ich ein paar IB/FB Tutorials, u.a. über StoredProcedures....

Grüße
Lemmy


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 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