> Your need to delete something, not knowing if it is a table or a view is a bit unusual (especially in the middle of a longish transaction where throwing the error would be a problem, seems to point to a very unusual case. The error is an ABORT, not a ROLLBACK. It does not affect transactions in progress, only the statement that is in error is aborted. ``` sqlite> begin immediate; sqlite> create table x(x); sqlite> drop view if exists x; Error: use DROP TABLE to delete table x sqlite> commit; sqlite> .schema CREATE TABLE x(x); ```