sql - usar - Truncar la tabla dentro de la transacción
truncate table sql español (2)
En Oracle, TRUNCATE TABLE es una declaración DDL que no se puede usar en una transacción (o, para ser más exactos, no se puede revertir). AFAIK, si hay una transacción en curso cuando se ejecuta la declaración, la transacción se confirma y luego se ejecuta el TRUNCATE y no se puede deshacer.
En Informix, el comportamiento de TRUNCATE es ligeramente diferente; puede usar TRUNCATE en una transacción, pero las únicas declaraciones permisibles después de eso son COMMIT y ROLLBACK.
Otros DBMS probablemente tengan sus propias interpretaciones idiosincrásicas del comportamiento de TRUNCATE TABLE.
¿Se puede usar el comando SQL "truncar tabla" dentro de una transacción? Estoy creando una aplicación y mi mesa tiene muchísimos registros. Quiero eliminar todos los registros, pero si la aplicación falla, debía deshacer mi transacción. Eliminar cada registro lleva mucho tiempo. Me pregunto si utilizo la tabla truncada, aún puedo revertir la transacción y recuperar mis datos en caso de error. Me doy cuenta de que la tabla truncada no escribe cada eliminación en el registro de transacciones, pero me pregunto si escribe la desasignación de la página al registro para que la reversión funcione.
En SQL Server, puede deshacer un TRUNCATE de una transacción. Escribe la desasignación de página al registro, como mencionaste.