mk
08-05-12, 11:40
Hallo zusammen,
In einem SQLRPGLE Programm soll eine mit SQL erstellte Tabelle nach dem erstellen mit fetch gelesen werden.
Hier das erstellen der Tabelle:
EXEC SQL
create table qtemp/spo1p as (
SELECT xxxxxxx
FROM xx
Where xxxx
) with data ;
Anschließend erfolgt im Programm die Leseroutine
EXEC SQL
Declare theSpo Cursor for
SELECT acut#, adate
From qtemp/spo1p ;
EXEC SQL Close theSpo ;
EXEC SQL Open theSpo ;
DoU SqlCode <> *zeros ;
EXEC SQL
Fetch next from theSpo into :wk_acut# ,
:wk_adate ;
arec= arec+ 1;
if SqlCode <> 100 ;
if xxxxx
callp DeleteaSpo( wk_acut#);
anr = anr + 1;
EndIf ;
EndIf ;
EndDo;
EXEC SQL Close theSpo ;
Der Fetch liest nur 2 Datensätze, obwohl ein paar tausend Sätze in der Tabelle vorhanden sind .
Die Felder arec und anr sind nur Zähler.
Muss man nach dem create table with data
vielleicht noch einen Close oder ähnliches machen ?
Gruß
Michael
In einem SQLRPGLE Programm soll eine mit SQL erstellte Tabelle nach dem erstellen mit fetch gelesen werden.
Hier das erstellen der Tabelle:
EXEC SQL
create table qtemp/spo1p as (
SELECT xxxxxxx
FROM xx
Where xxxx
) with data ;
Anschließend erfolgt im Programm die Leseroutine
EXEC SQL
Declare theSpo Cursor for
SELECT acut#, adate
From qtemp/spo1p ;
EXEC SQL Close theSpo ;
EXEC SQL Open theSpo ;
DoU SqlCode <> *zeros ;
EXEC SQL
Fetch next from theSpo into :wk_acut# ,
:wk_adate ;
arec= arec+ 1;
if SqlCode <> 100 ;
if xxxxx
callp DeleteaSpo( wk_acut#);
anr = anr + 1;
EndIf ;
EndIf ;
EndDo;
EXEC SQL Close theSpo ;
Der Fetch liest nur 2 Datensätze, obwohl ein paar tausend Sätze in der Tabelle vorhanden sind .
Die Felder arec und anr sind nur Zähler.
Muss man nach dem create table with data
vielleicht noch einen Close oder ähnliches machen ?
Gruß
Michael