Hallo MrSpock,
ich habe es jetzt so hinbekommen (in der ISQL):
SQL-Code:
set term !! ;
CREATE PROCEDURE LIES_WERBEARTIKEL (
VORGABE FLOAT)
RETURNS (
ARTIKELNUMMER INTEGER,
BESCHREIBUNG VARCHAR(250),
PREIS FLOAT,
LAGERBESTAND integer)
AS
begin
/* Procedure Text */
for select ARTIKELNUMMER, BESCHREIBUNG, PREIS, LAGERBESTAND FROM WERBEARTIKEL WHERE PREIS < :VORGABE
into :ARTIKELNUMMER, :BESCHREIBUNG, :PREIS, LAGERBESTAND do
suspend;
end !!
set term ; !!
Aber es wird mir immer nur ein Datensatz angezeigt
Und heißt das auch, dass, wenn ich alle Spalten im Ergebnis sehen will, ich auch jede einzelne als Return angeben muß? Ich habe hier gerade eine Tabel mit 150 Spalten vor mir.
Mir ist schon klar, dass es sehr unwahrscheinlich ist, dass ein solches Problem in der Praxis auftritt, aber wie war das doch mit den Pferden und der Apotheke?