Was willst du mit variablen Feldnamen ?
Zur Laufzeit benötigst du nur Adressen.

Du kannst mittels Pointer und %alloc(size) beliebige Strukturen verwalten.

Um diese mit SQL zu verarbeiten musst du eine SQLDA-Struktur aufbauen, in der du dann pro Feld den SQL-Datentyp sowie die Speicheradresse angibst.

Beim Select/Insert/Update/Fetch gibts dann "using SQLDA : MySQLDA".

Aber du solltest deine Anforderung noch mal genauer beschreiben.