Dieser Abschnitt enthält Informationen zur Unterstützung von Insert- und Fetch-Anweisungen einer Multiple-Row-Funktion in Rational Business Developer V9.0.
Rational Business Developer V9.0 umfasst eine neue Multiple-Row-Funktion zur Verbesserung der Leistung beim Zugriff auf SQL-Tabellen. Mit dieser neuen Funktion können Sie während einer Interaktion mit der Datenbank so viele Zeilen wie angefordert abrufen oder einfügen.
Der Unterschied zwischen der Fetch-Anweisung einer Single-Row-Funktion und der Fetch-Anweisung einer Multiple-Row-Funktion wird nachfolgend erläutert:

Rational Business Developer V9.0 unterstützt Multiple-Row-Operationen bei OPEN-, GET-, ADD- und REPLACE-Anweisungen für SQL-Datensätze. Details finden Sie in den Abschnitten zu den Anweisungen Überlegungen zu 'open' mit SQL, Überlegungen zu 'get' mit SQL, Überlegungen zum Hinzufügen mit SQL Überlegungen zu 'delete' mit SQL, und Überlegungen zu 'replace' mit SQL
Im folgenden Beispiel wird dargestellt, wie die angeforderte Anzahl Zeilen abgerufen wird. Passen Sie alle Abschnitte dieses Codes an Ihre eigene Anwendung an.
employees employeeRecord[0]{rowsetsize=10};
//assume table EMPLOYEETEST contains 10,000 rows, the result
// set for the below SQL will return 10,000 rows
// it uses rowset processing to interact with the database
Open abc with #sql{
select eID, uName, PASSWORD, fName, lName, office, sex, EMail
from EMPLOYEETEST
order by eID
} for employees;
get next employees; //this returns an 10 element array with
//the first 10 rows of the result set
while ( sysvar.sqlData.sqlcode == 0 )
// sysvar.sqlData.sqlerrd[3] will contains the number of returned rows
for ( i int from 1 to sysvar.sqlData.sqlerrd[3] )
// if eid is greater than 2000, stop fetching more rows.
// This is what is meant by "demanded"
if ( employees[i].eID > 2000 )
exit while;
end
SysLib.writeStdout( employees[i].fName );
end
get next employees; //this returns the next 10 rows and
//replaces rows in array
end
close abc;
| Plattform | Problem |
|---|---|
| Java-Generierung und -Debugging | Die Anweisung get diagnostics wird nicht unterstützt. Die Generierung ist erfolgreich, aber bei der Verwendung der Anweisung get diagnostics wird sqlException während der Laufzeit zurückgegeben oder wenn die Anweisung den Debugger durchläuft. |