Wenn nur ein Datensatz zurückkommt, ist auch beim dynamischen SQL kein Cursor notwendig.
VALUES INTO kann dynamisch aufbereitet werden.
Code:
MySQLStmt = 'VALUES (dynamischAufbereitetesSelectStatement) into ?';
Exec SQL Prepare DynSQL From :MySQLStmt;
Exec SQL Execute DynSQL Using :Strech;
Variablen in (embedded) SQL-Programmen, sollten niemale mit SQL oder SQL beginnen. Diese hat IBM für sich reserviert für den Precompiler reserviert.
Auch wenn diese Variablen heute keine Probleme machen, könnte IBM im nächsten Technology Referesh eine Variable mit dem gleichen Namen in die SQLCA oder SQLDA integrieren. Das beste was dann passieren könnte ist, dass Dein Programm nicht mehr kompliert werden kann. Viel schlimmer wäre, wenn dadurch irgendwelche abstrutsen Ergebnisse zustande kommen würden.
Birgitta
Bookmarks