Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Interbase: Mischen von Select und Stored Procedure

  Alt 12. Nov 2003, 08:44
Hi,

hast Du nicht vor ein paar Tagen schon mal eine Frage bzgl. SP in Interbase gestellt?? Da wurde Dir doch ausdrücklich gesagt (falls nicht, dann sei Dir verziehen ), dass
*Select-SP immer mit Select ausgeführt werden
*Executable-SP immer mit Execute
*zu einer Select-SP immer ein For-Select-Do gehört

Also muss deine SP so aussehen, damit es auch mit der Nachbarin klappt :

SQL-Code:
set term !! ;
CREATE PROCEDURE ErmittleDurchschnitt
RETURNS (
    DP DECIMAL (8,2))
AS
begin
  /* Procedure Text */
  FOR
  select avg (PREIS) FROM WERBEARTIKEL
    into :DP
  DO
    SUSPEND;
end !!
Nun zu deiner Select:

Eine Procedure ist KEINE Function! Du rufst Die SP aber wie eine Funktion auf!!!! Versuch es mal so:

SQL-Code:
select DP AS "Durchschnitt", Beschreibung, Lagerbestand, Preis
from Werbeartikel, ErmittleDurchschnitt
So sollte es eigentlich klappen. Du musst aber aufpassen, sollte die SP mehr als einen Wert zurückliefern, würde diese Select zu einem kartesischen Produkt führen (d.h. alles aus Tabelle 1 (Werbeartikel) wird mit allem aus Tabelle 2 (ErmittleDurchschnitt) zusammengewürfelt. In einem solchen Fall musst Du mit einem Join die Tabellen verknüpfen.

Grüße
Lemmy
  Mit Zitat antworten Zitat