Help - Batch Inserts with SQL


I'm returning to that fountain of Delphi Wisdom with yet another request
for information...

Is there a way to perform batch record inserts using SQL?  I'm a total
beginner with SQL, so I don't know all of the available statements.

Here's the background:
I'm using Delphi with MS Access 2.0.  After lots of experimentation, I
determined that the only way to achieve acceptable performance is to use
TQuery objects rather than TTables.  Also, ODBC adds so much overhead,
that I have been forced to avoid executing any SQL queries within loops.

My basic program flow is:

       Read data from database
           Perform Analysis
      Write results to database

To read in the data, I use TQuery objects to execute my SQL SELECT
statements and table joins.  I then loop through the records of the
TQuery objects and create Delphi class instances that correspond to
the data returned by the queries.

After performing the analysis, I need to store the data from my Delphi
objects in database tables.  However, SQL INSERT statements only seem
to work on one record at a time.  Therefore I need to pass SQL
statements to MS Access within a loop.  Performance is very bad.

The SELECT statement can be issued once, and it retrieves multiple
records.  However, the INSERT statement must be executed repeatedly.

Can anyone suggest a better way to do this?  Does SQL have an
alternative to INSERT statements that works with many records at
a time?

BTW, I have looked at Delphi's TBatchMove object, but the destination
can only be a TTable object.  Using TTable objects with ODBC databases
results in terrible performance, so TBatchMove objects won't work.

Any help will be greatly appreciated.

Craig Jackson               "No matter how great your triumphs or how        tragic your defeats -- Approximately one billion
Electronic Data Systems      Chinese couldn't care less."    -  Lazlo