Sybase IQ supports savepoints within a transaction.
A SAVEPOINT statement defines an intermediate point during a transaction. Because a single IQ transaction may write millions of rows of data, you may want to limit the amount of data that is committed—and thus written to disk—to less than a full transaction's worth. Setting savepoints allows you to subdivide transactions.
You can undo all changes after a savepoint using a ROLLBACK TO SAVEPOINT statement.