Retrieving MQ messages in a group

Right now we have configured a MQ listener notification to get and publish discrete messages to the broker from the MQ queue. The subsriber then inserts the records in these messages into a database table. Now we want to add a transaction bracket such either all of the DB inserts are successfull or none at all. So now the MQ publisher is publishing the MQ messages in a group to the MQ queue.
How can i use the MQ listener notification so that webmethods can retrieve all of the messages successfully or none at all? What is the best mechanism to add a transaction bracket in this case?

Or Should i just use a GET service in a loop and do explicit transaction handling (startTransaction, closeTransaction, rollbackTransaction etc…)?

Please advise.

Any idea on a standard way of implementing the above scenario? Also do i have to use extended transactions?

I have to insert all the records coming in as part of the MQ message group into the database table as part of a single transaction. So the entire process succeeds or fails.