TRUNCATE
- Is a DDL command hence it cannot be rolled back.
- It resets the identity of the table and locks that state of the table.
- Hence, Commit and Rollback will have no effect after TRUNCATE.
DELETE
- Is a DML command hence it can be rolled back
- It does not rest the identity of the table, it just locks the table row
- Hence Commit and Rollback can have effect depending on the lock techniques used.
Hence, it can be said that after the execution of ‘TRUNCATE’ operation, COMMIT, and ROLLBACK statements cannot be performed to retrieve the lost data, while ‘DELETE’ allows it.
It can also be said that after the execution of ‘DELETE’ operation, COMMIT and ROLLBACK statements can be performed to retrieve the lost data, while TRUNCATE does not allow it
NOTE
In official ISRO CS 2020, both option 1 and 3 were correct and hence option is slightly modified to get only correct answer.
