Einzelnen Beitrag anzeigen

sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#10

Re: Stored Procedure innerhalb anderer SP

  Alt 10. Jun 2006, 23:54
SQL-Code:
CREATE PROCEDURE TESTPREISSP8
RETURNS (
    ID INTEGER,
    NR INTEGER,
    BEZ CHAR(30),
    PREIS DECIMAL(15,2))
AS
begin
  for
    select ID, NR, BEZ, PREIS from ART, ERMITTLE_ARTPREIS (ID,5,'01.01.2006')
    where (ID <= 111)
    into :ID,:NR,:BEZ, :PREIS
   do
  suspend;
end^
Ich schätze hier liegt eine Verwechslung vor zwischen ID und ID.
Da steht ERMITTLE_ARTPREIS (ID,5,'01.01.2006'): Das ID bezieht sich aber auf den Rückgabeparameter ID und nicht auf das ID, das du aus ART liest. Eigentlich müsste da zwar noch ein Doppelpunkt davor stehen, aber der Compiler beschwert sich oftmals trotzdem nicht. Hab ich mir auch schon paar mal die Zähne ausgebissen...
Was du wolltest, war wohl eher:

SQL-Code:
CREATE PROCEDURE TESTPREISSP8
RETURNS (
    ID INTEGER,
    NR INTEGER,
    BEZ CHAR(30),
    PREIS DECIMAL(15,2))
AS
begin
  for
    select ID, NR, BEZ from ART
    where (ID <= 111)
    into :ID,:NR,:BEZ
   do
     begin
       select PREIS from ERMITTLE_ARTPREIS(:ID,5,'01.01.2006') into :PREIS;
       suspend;
     end
end^
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat