Это отличается для разных прагматических высказываний.
Например, SQLite версии 3.7.15.2 включает в транзакции прагму 'user_version' и будет COMMIT и ROLLBACK значение.
Однако та же версия SQLite специально исключает (в документации и тестировании) foreign_keys из транзакций.
Из моей ограниченной выборки видно, что в транзакции будет участвовать прагма, не задокументированная как недействительная во время транзакций (foreign_key) (например, user_version.)
PS: я понимаю, что это очень старый вопрос, но именно туда Google привел меня, когда мне понадобилась эта информация.